2015-07-22 2 views
8

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

Class 'App\Http\Controllers\Frontend\Auth' not found

Вот вызов

$user = Auth::user(); 

Тогда я пытаюсь получить идентификатор с помощью:

$user->id 

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

ответ

12

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

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

use Auth; 
-1

Попробуйте это: $ пользователя = \ Auth :: пользователя();

0

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

use Auth; 

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

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

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

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

Если вы пытаетесь получить пользователю как $user = Auth::user(); laravel попробуйте загрузить класс Auth из текущей точки. В вашем случае

'App\Http\Controllers\Frontend'

так laravel ищет класс Auth внутри Frontend. Вот почему вы получите сообщение об ошибке, как

'Class 'App\Http\Controllers\Frontend\Auth' not found'

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

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

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

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

+1

Хотя этот фрагмент кода может быть решение, [включая пояснения] (https://meta.stackexchange.com/questions/114762/explaining-whole-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. –

Смежные вопросы