2017-05-03 15 views
0

私はLaravelとEntrustで作業しており、基本はうまくいきます。私はパッケージに付属していない1つの問題があります。私が望むのは、Auth::user()にログインしている場合はロールを返します。現在、私はAuth::user()->rolesをやることができると知っていますが、それが機能するためには、まずユーザーであるかどうかを確認する必要があります。私はイメージが簡単な方法と便利です、あなたはあなたもそこにロールを取得する認証ユーザーを返すため。Laravel Entrustが役割を持つ認証ユーザーを返す

ここで私は現在、head.blade.phpファイルを設定する方法です

<?php if(Auth::user()){ $roles = Auth::user()->roles()->get(); }else{$roles = null;} ?> 

<!-- global config --> 
<script> 

    window.Laravel = {!! json_encode([ 
     'csrfToken' => csrf_token(), 
     'stripeKey'=> config('services.stripe.key'), 
     'user'=> Auth::user(), 
     'roles' => $roles, 

    ]) !!}; 

</script> 

それも役割オブジェクト必要はありませんしずっと簡単だろうが、window.Laravel.user.roles

答えて

0

経由のアクセスあなたが探しています

'user'=> Auth::user() ? Auth::user()->load('roles') : null, 

あなたはおそらくのように、あなたがこのアプローチにはいくつかの不要な性質を持っているneed-何-dependsよしかし:load方法についてピボットテーブルのプロパティ

userプロパティをコントローラで作成し、必要な情報を含むビューに渡す方が良い場合があります。

関連する問題