Ответ 1
Вы можете наблюдать событие auth.login
и обновлять время последнего входа пользователя. Посмотрите первый пример в документации для событий, чтобы выполнить именно то, что вы пытаетесь сделать.
Event::listen('auth.login', function($user) {
$user->last_login = new DateTime;
$user->save();
});
Примечание. В 4.0 название события user.login
. В 4.1 название события auth.login
Update
Это действительно зависит от вас, где вы ставите слушателей событий. Если вы прочитали ссылку на страницу документа, в ней указано:
Итак, вы знаете, как регистрировать события, но вам может быть интересно, где зарегистрируйте их. Не беспокойтесь, это общий вопрос. К сожалению, это сложный вопрос, потому что вы можете зарегистрировать событие почти везде! Но вот несколько советов. Опять же, как и большинство других загрузочный код, вы можете регистрировать события в одном из ваших начальных файлов таких как app/start/global.php.
Если ваши стартовые файлы становятся слишком переполненными, вы можете создать отдельный файл app/events.php, который включен в стартовый файл. Эта это простое решение, которое обеспечивает чистоту регистрации вашего мероприятия отделяются от остальной части вашей начальной загрузки. Если вы предпочитаете класс вы можете регистрировать свои события у поставщика услуг. Поскольку ни один из этих подходов не является по своей сути "правильным", выберите вы чувствуете себя комфортно в зависимости от размера вашего приложение.
Мои личные предпочтения состоят в том, чтобы зарегистрировать их у поставщика услуг, так как это будет держать их в секрете, и для меня это более "способ Laravel". Если вам нужна помощь с поставщиками услуг, см. эту документацию.
Однако, если вы действительно хотите что-то запустить и запустить как можно быстрее, вам будет легко зарегистрировать этого слушателя внутри app/start/global.php