Ottenere Auth User ID Laravel

0

Domanda

Ho Fatto Laravel Progetto E installare il Debole per il multi pacchetto di autenticazione E la Creazione di una guardia chiamata admin per il controllo utente di valutare in dashboard funziona bene Qui è la strada

Route::get('/dashbord',[AdminController::class, 'Dashbord'])
    ->name('admin.dashbord')
    ->middleware('Admin');

Route::get('/profile/edit',[AdminProfileSettings::class, 'index'])
    ->name('admin.profile.settings')
    ->middleware('Admin');

Qui È il middleware

public function handle(Request $request, Closure $next)
{
    if(!Auth::guard('admin')->check()) {
        return redirect()->route('login_form')->with('error','please Login First');
    }
    return $next($request);
}

Questo codice funziona bene, ma il problema è che quando accedo al cruscotto e cercare di ottenere admin ID: admin.profilo.le impostazioni di percorso è abituato a ottenere l'Id, ho Passato l'registrato admin id utilizzando AdminProfileSettings controller come questo

public function index()
{
    $id=Auth::user()->id;
    $adminData = Admin::find($id);
    return view('admin.admin_profile_settings',compact('adminData'));
}

Ma, quando cerco di accedere in admin.admin_profile_settings vista mi mostra questo errore:

Cercando di ottenere la proprietà 'id' non oggetto

Ma, se io uso $adminData = Admin::find(1); ottenere l'Id senza alcun problema, ma quando cerco di entrare auth id utente mi mostra l'errore e se devo essere connesso con il default guardia di questo errore di mostrare il solito, ma ottenere i id dalla tabella degli utenti

authentication breeze laravel
2021-11-23 18:30:07
1

Migliore risposta

1

Non si utilizza il auth:admin middleware, in modo che il Auth la facciata è andare a tirare l'utente predefinito guardia definito nel file config (che è web, a meno che non hai cambiato).

Senza utilizzare il auth:admin middleware, è necessario specificare la guardia per il quale ottenere l'utente.

$adminUser = Auth::guard('admin')->user();

Nota 1: se si ha la $request variabile, è anche possibile estrarre l'utente del $request con $request->user()invece di raggiungere i Auth facciata. È solo una questione di preferenza. Il user() il metodo prende anche una guardia come parametro, se necessario.

$adminUser = $request->user('admin');

Nota 2: il user() metodo (Auth e richiesta) restituisce completamente idratata modello. Non c'è bisogno di ottenere l'id e ri-recuperare il modello.

2021-11-23 20:59:44

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................