[英]Access collection in laravel 5.2
我在laravel 5.2上使用委托我的角色和權限,我在我的控制器上有這個:
$user = Auth::user();
$rol = $user->roles;
dd($rol);
在我的用戶模型中:
public function roles(){
return $this->belongsToMany('Nini\Role','role_user');
}
得到這個: 快照
我正在嘗試訪問並在我的視圖中顯示“display_name”,我不能,幫助! 提前致謝。
正如您在User模型中定義的那樣,用戶可以擁有多個角色(這意味着用戶具有一組角色),因此您必須定義要顯示display_name屬性的角色。 我想為用戶顯示所有可用角色的display_name屬性,這可以通過以下方式實現:
@foreach (Auth::user()->roles as $rol)
$rol->display_name
@endforeach
我希望有助於消除您的疑慮。
要查看控制器中的數據,請使用$user = Auth::user()->with('roles')
使用dd($rol->toArray())
進行檢查數據收集,
我認為Laravel的Entrust庫在用戶和角色之間存在多對多的關系。 因此,如果要在視圖中顯示顯示名稱,則需要從調用方法角色()獲取的集合中獲取項目/對象。您可以這樣做:
// Collection of Roles
$user_roles = $user->roles;
foreach($user_roles as $user_role) {
echo $user_role->display_name;
}
或者如果你想獲取你可以使用的第一個rle
$user_roles->first()->display_name
我希望這可以幫助你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.