Конечно, документы сообщают нам, как store session data *, но они не затрагивают вопрос OP относительно хранения данных сеанса при входе в систему. У вас есть несколько вариантов, но я думаю, что самый лучший способ - переопределить аутентифицированный метод аутентификации AuthenticatesUsers.
Добавить переопределение в свой LoginController:
/**
* The user has been authenticated.
*
* @param \Illuminate\Http\Request $request
* @param mixed $user
* @return mixed
*/
protected function authenticated(Request $request, $user)
{
$this->setUserSession($user);
}
Затем вы можете установить сеанс в качестве:
protected function setUserSession($user)
{
session(
[
'last_invoiced_at' => $user->settings->last_invoiced_at,
'total_amount_due' => $user->settings->total_amount_due
]
);
}
Если вы хотите, чтобы быть немного более умным вы можете создать перехватчик для Вход или Аутентифицированные события и настройка сеанса при срабатывании одного из этих events *.
Создание слушателя, таких как SetUpUserSession:
<?php
namespace app\Listeners;
use Illuminate\Auth\Events\Login;
class SetUserSession
{
/**
* @param Login $event
* @return void
*/
public function handle(Login $event)
{
session(
[
'last_invoiced_at' => $event->user->settings->last_invoiced_at,
'total_amount_due' => $event->user->settings->total_amount_due
]
);
}
}
* Ссылки идут на 5.4, но это не изменилось с 5.3.
https://laravel.com/docs/5.3/session#storing-data –