Laravel 5.4에서 Sentinel을 사용하고 있습니다. 내가하려고하는 것은 : 사용자 세부 사항을 기록하지만 Sentinel::getUser()
은 null을 반환합니다. 이 과정에서 나는이 지침을 this answer 에 보았습니다. 나는 View Composer
방법을 사용하고 있습니다.View Composer의 로그인 사용자가 작동하지 않음 (Sentinel - Laravel 5.4)
단계 나는 Providers
폴더 안에 파일 ViewComposerServiceProvider
을 만든
을 수행했다. 내가 userDetail
다른 변수를 전달하면,
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
});
}
그런 다음, 나는 그것이 완벽하게 작동하고, App\Providers\ViewComposerServiceProvider::class,
로 config/app.php
공급자 배열이 공급자를 등록 : 그것은 것 같습니다. 그러나 로그인 한 사용자 세부 정보를 가져올 수 없습니다. 내가 놓친 게 있니?
this answer의 첫 번째 해결 방법을 따르면 미로웨어보다 먼저 실행되는 구성이므로 작동하지 않는 것 같습니다. 제발 도와주세요.
같은 userDetail 데이터에 액세스 할 수 있습니다
그런 다음 userDetail.blade.php 아래처럼 serviceProvider.php 부팅 방법 (처음에 firstorFail를 교환하십시오); –
또 다른 옵션을 확인하실 수 있습니다 $ user-> id –
확인하시기 바랍니다. –