Проверьте, не истек ли токен в Laravel - PullRequest
0 голосов
/ 29 мая 2018

У меня есть табличные токены со столбцами: user_id, token, expires_at.

Пример:

У меня есть токен: 12345, для меня, и он истекает в:2018-06-05

Когда я генерирую новый токен, я генерирую до 7 дней ..

Как я могу проверить это в модели?

Я попытался сделать с областью действияв модели:

public function scopeExpired($query) {
    return $this->where('expires_at', '<=', Carbon::now())->exists();
}

но не работает.Всегда ложно ..

1 Ответ

0 голосов
/ 29 мая 2018

Я всегда делал такие вещи следующим образом.Обратите внимание, что вам нужно поле expires_at в качестве атрибута вашей модели.

// Probably on the user model, but pick wherever the data is
public function tokenExpired()
{
    if (Carbon::parse($this->attributes['expires_at']) < Carbon::now()) {
        return true;
    }
    return false;
}

Тогда откуда бы вы ни позвонили:

$validToken = $user->tokenExpired();

// Or realistically

if ($user->tokenExpired()) {
    // Do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...