Я не уверен, что это правильный подход для этого в случае многопользовательских логинов. Ниже мой код. Пожалуйста, обеспечить обратную связь
создал модель
class Session_Model extends Model
{
protected $table = "sessions";
}
** Модифицированный метод для записи/обновить запись в таблице Sessions
. Вы можете найти эту Mothod в этом классе: **
\ поставщика \ Laravel \ Framework \ \ Осветите в исходные тексты \ Session \ DatabaseSessionHandler.php
public function write($sessionId, $data)
{
$payload = $this->getDefaultPayload($data);
if ($this->exists) {
/*****Remove other then current login in user Session*****/
\App\Models\User\Session_Model
::where('id', '!=', $sessionId)
->where('user_id', '=', $payload['user_id'])
->delete();
$this->getQuery()->where('id', $sessionId)->update($payload);
} else {
$payload['id'] = $sessionId;
/********Remove all previous sessions of a user***************/
\App\Models\User\Session_Model
::where('user_id', '=', $payload['user_id'])
->delete();
$this->getQuery()->insert($payload);
}
$this->exists = true;
}
Войти обновляет его/обновляет его , –
Я имею в виду, что он продолжает добавлять новые записи в таблицу 'session'. Есть ли способ заставить «Laravel 5.2» удалить все текущие связанные с пользователем записи на основе 'user_id'? –
ну простой запрос на удаление на основе user_id!? –