Ответ 1
Вам необходимо использовать фасад Auth в контроллере;
добавьте эту строку непосредственно перед определением класса.
use Auth;
Я использую шаблон Laravel. Я пытаюсь получить user_id
подписанного пользователя. Я получаю следующую ошибку:
Класс "App\Http\Controllers\Frontend\Auth" не найден
Вот вызов
$user = Auth::user();
Затем я пытаюсь использовать идентификатор:
$user->id
Что мне не хватает?
Вам необходимо использовать фасад Auth в контроллере;
добавьте эту строку непосредственно перед определением класса.
use Auth;
Попробуйте это,
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
Добавить следующую строку перед определением класса
use Auth;
Получите свой текущий идентификатор пользователя, используя следующий код
$currentuserid = Auth::user()->id;
Попробуйте следующее: $ user =\Auth :: user();