2017-05-03 123 views
0

我正在使用Laravel和Entrust,基本工作正常。我確實有一個問題看起來並不包含在軟件包中。我想要的是當我做Auth::user()時,如果它們已經登錄,它也會返回它們的角色。目前我知道我可以做Auth::user()->roles,但爲了工作,我需要先檢查他們是否是用戶。我會想象一個更簡單的方法,方便,因爲當你返回auth用戶時,你也可以獲得角色。Laravel Entrust返回auth用戶角色

下面是我目前通過設立window.Laravel.user.roles

回答

0

的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> 

這將是一個簡單得多,甚至不需要對象的角色,但訪問你正在尋找爲load方法:

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

但是你可能會-depends你需要 - 有一些不需要的特性這種方法,像數據透視表屬性。

在控制器中創建一個user屬性可能會更好,並傳遞給包含所需信息的視圖。

相關問題