Идентификатор пользователя Laravel Auth в контроллере

Я использую шаблон Laravel. Я пытаюсь получить user_id подписанного пользователя. Я получаю следующую ошибку:

Класс "App\Http\Controllers\Frontend\Auth" не найден

Вот вызов

$user = Auth::user();

Затем я пытаюсь использовать идентификатор:

$user->id

Что мне не хватает?

Ответы

Ответ 1

Вам необходимо использовать фасад Auth в контроллере;

добавьте эту строку непосредственно перед определением класса.

use Auth;

Ответ 2

Попробуйте это,

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

Когда вы пытаетесь получить пользователя с помощью $user = Auth::user();, laravel пытается загрузить класс Auth из текущего местоположения. В вашем случае это

'App\Http\Controllers\Frontend'

Итак, Laravel ищет класс Auth внутри каталога Frontend, которого нет. Вот почему вы получили это сообщение об ошибке, в котором говорится, что не найдено, как показано ниже,

'Class' App\Http\Controllers\Frontend\Auth 'не найден'

Если вы используете метод use Auth;, вы должны ввести use Auth; в каждом контроллере, который вы собираетесь использовать в контроллере Auth.

Вместо того, чтобы вводить use Auth; на каждом контроллере, вы можете просто использовать вспомогательную функцию Laravel как auth()->user().

из этого вы можете получить любое значение из БД, например,

auth()->user()->id

auth()->user()->f_name

Ответ 3

Добавить следующую строку перед определением класса

use Auth;

Получите свой текущий идентификатор пользователя, используя следующий код

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

Ответ 4

Попробуйте следующее: $ user =\Auth :: user();