Я использую Sentinel в Laravel 5.4. Что я пытаюсь сделать, так это: получить информацию о зарегистрированном пользователе, но Sentinel::getUser()
возвращает null. Для этого процесса я видел эту инструкцию в этом ответе. Я использую метод View Composer
.
Выполненные шаги
Я создал файл ViewComposerServiceProvider
внутри папки Providers
. Это выглядит как:
public function boot()
{
$user = Sentinel::getUser(); //<<-- main error: dd($user) returns empty
$userDetail = UsersDetail::where('user_id', $user->id)->firstOrFail();
if ( is_null ($userDetail) ) {
$userDetail = new UsersDetail;
}
view()->composer('backend.*', function($view) {
$view->with('userDetail', $userDetail);
//$view->with('userDetail', 'Test'); //this works fine
});
}
Затем я регистрирую этого провайдера в массиве config/app.php
Providers как App\Providers\ViewComposerServiceProvider::class,
Когда я передаю другие переменные в userDetail
, все работает отлично. Но я не могу получить информацию о зарегистрированном пользователе. Я что-то упускаю?
После первого решения из этот ответ также кажется неработающим, поскольку конструкция запускается до промежуточного программного обеспечения. Любая помощь, пожалуйста.
$user
является нулевым. - person VijayRana   schedule 25.04.2017