web-dev-qa-db-fra.com

Laravel Identifiant utilisateur dans le contrôleur

J'utilise le Laravel passe-partout. J'essaie d'obtenir le user_id de l'utilisateur connecté. Je reçois l'erreur suivante:

Classe 'App\Http\Controllers\Frontend\Auth' introuvable

Voici l'appel 

$user = Auth::user();

Ensuite, j'essaie d'obtenir l'identifiant en utilisant:

$user->id

Qu'est-ce que je rate?

10
Joe

Vous devez utiliser la façade Auth dans le contrôleur.

ajoutez cette ligne juste avant la définition de la classe.

use Auth;
15
Ammadu

Essaye ça,

auth()->user()->id;

Si vous essayez d’obtenir l’utilisateur sous la forme $user = Auth::user();Laravel, essayez de charger la classe Auth à partir du point actuel. Dans ton cas 

'App\Http\Controllers\Frontend'

donc Laravel cherche la classe Auth dans le Frontend. C'est pourquoi vous obtenez le message d'erreur comme 

'Class' App\Http\Controllers\Frontend\Auth 'introuvable'

Par conséquent, vous devez mettre use Auth; dans tous les contrôleurs pour lesquels vous allez utiliser le contrôleur Auth. 

Au lieu de taper use Auth; dans chaque contrôleur, vous pouvez simplement utiliser la fonction d'assistance laravel en tant que auth()->user().

à partir de cela, vous pouvez obtenir n'importe quelle valeur de la base de données, comme

auth () -> user () -> id, auth () -> user () -> f_name

2
Kavinda Prabhath

Ajouter la ligne suivante avant la définition de classe

use Auth;

Obtenez votre identifiant d'utilisateur actuel en utilisant le code suivant 

$currentuserid = Auth::user()->id;
0
Karthik