我想顯示具有「管理員」角色的用戶的表單。我怎麼能做到這一點?現在,我總是假的。Laravel。顯示索引政策
政策
public function view(User $user)
{
foreach ($user->roles as $role) {
$role->name == 'admin';
}
return true;
}
控制器
public function index()
{
$user = Auth::user();
if($user->can('view', $user))
{
$listSections = Section::all();
return view('sections.index', compact('listSections'));
}
else
{
abort(403, 'Only admins can');
}
}
查看
@can('view')
@include('sections.show')
@endcan
THX的幫助。
我用你的建議和工作,但方法'can()',它停止工作,因爲'是undefined':O。現在我用'$ this-> authorize('view',Section :: class);' 它好嗎? 非常感謝您提供詳盡的答案和幫助;) – funfelfonfafis
您確定該用戶存在嗎?否則,'$ user'變量將爲空,並且'can()'方法將是未定義的。使用'authorize()'輔助工具是很好的,甚至是在控制器中工作時doc的建議;) – louisfischer
ohh,我覺得內疚。 '$ this-> authorize('index',Section :: class);'我在方法'can()'之前忘記了註釋。 現在所有的作品。再次thx爲您的幫助。 – funfelfonfafis