私は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 –
を確認してください。 –