Quindi di solito ottengo l'utente corrente usando Auth::user()
e quando sto determinando se un utente è effettivamente connesso Auth::check
. Tuttavia, questo non sembra funzionare nel mio AppServiceProvider
. Lo sto usando per condividere i dati attraverso tutte le viste. I var_dump
entrambi Auth::user()
e Auth::check()
durante l'accesso e ottengo NULL
e false
.Laravel - Come ottenere l'utente corrente in AppServiceProvider
Come posso ottenere l'utente corrente nel mio AppServiceProvider
? Se ciò non è possibile, qual è il modo per ottenere dati che è univoco per ciascun utente (dati diversi in base allo user_id
) in tutte le viste. Ecco il mio codice per chiarimenti.
if (Auth::check()) {
$cart = Cart::where('user_id', Auth::user()->id);
if ($cart) {
view()->share('cart', $cart);
}
} else {
view()->share('cartItems', Session::get('items'));
}
È necessario creare un middleware personalizzato per questo, vedere le discussioni: https://laracasts.com/discuss/channels/laravel/using-auth-in-service-provider-to-get-user-object, https : //github.com/laravel/framework/issues/7906 – Burak