Obtenez de l'Auth ID Utilisateur Laravel

0

La question

J'ai Fait Laravel Projet Et installer la Brise package pour le multi Et l'authentification de Créer une garde-appel admin pour le contrôle de l'utilisateur évaluer pour tableau de bord, Il fonctionne très bien Ici est la route

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

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

Voici le 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);
}

Ce code fonctionne bien mais le problème c'est quand je me connecter au tableau de bord et essayer d'obtenir admin ID: admin.de profil.les paramètres de la route il l'habitude d'obtenir l'Id, j'ai Passé la session admin id en utilisant AdminProfileSettings contrôleur comme ceci

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

Mais, quand j'essaie d'y accéder dans le admin.admin_profile_settings afficher plus afficher ce message d'erreur:

Essayer d'obtenir la propriété " id " de la non-objet

Mais, si j'utilise $adminData = Admin::find(1); il obtenir l'Id sans aucun problème, mais lorsque j'essaie d'obtenir auth id utilisateur il me montre l'erreur et si je l'ai connecté à l'aide de garde par défaut cette erreur l'habitude de se présenter mais il se l' id dans la table d'utilisateurs

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

La meilleure réponse

1

Vous n'êtes pas à l'aide de la auth:admin middleware, de sorte que le Auth façade va tirer de l'utilisateur à partir de la garde par défaut défini dans le fichier de configuration (qui est websauf si vous l'avez modifié).

Sans l'aide de l' auth:admin middleware, vous aurez besoin de spécifier le garde pour obtenir l'utilisateur.

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

Note 1: si vous avez l' $request variable, vous pouvez également tirer de l'utilisateur hors de l' $request avec $request->user()au lieu de tendre la main aux Auth façade. C'est juste une question de préférence. L' user() la méthode prend également un garde en tant que paramètre, si nécessaire.

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

Note 2: le user() méthode (Auth et de la demande) retourne le totalement éteinte modèle. Il n'est pas nécessaire pour obtenir l'id et re-récupérer le modèle.

2021-11-23 20:59:44

Dans d'autres langues

Cette page est dans d'autres langues

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