Так что я обычно получаю текущего пользователя с помощью Auth::user()
и когда я определяю, действительно ли пользователь зарегистрирован в Auth::check
. Однако, похоже, это не работает в моем AppServiceProvider
. Я использую его для обмена данными во всех представлениях. I var_dump
и Auth::user()
и Auth::check()
при входе в систему, и я получаю NULL
и false
.Laravel - Как получить текущего пользователя в AppServiceProvider
Как я могу получить текущего пользователя внутри своего AppServiceProvider
? Если это невозможно, каким способом получить данные, которые уникальны для каждого пользователя (данные, которые отличаются от user_id
) во всех представлениях. Вот мой код для разъяснения.
if (Auth::check()) {
$cart = Cart::where('user_id', Auth::user()->id);
if ($cart) {
view()->share('cart', $cart);
}
} else {
view()->share('cartItems', Session::get('items'));
}
Для этого вам нужно создать специальное промежуточное программное обеспечение, см. Обсуждения: https://laracasts.com/discuss/channels/laravel/using-auth-in-service-provider-to-get-user-object, https : //github.com/laravel/framework/issues/7906 – Burak