【发布时间】:2019-12-20 19:26:17
【问题描述】:
我正在学习如何使用 Gate 和 @can 的东西
在我的 AuthServiceProvider 我有
public function boot()
{
$this->registerPolicies();
$this->registerPostPolicies();
}
public function registerPostPolicies()
{
Gate::define('isAdmin', function($user) {
return $user->roles->where('title', 'like', '%' . 'Admin')->count();
});
}
在我的刀片中,我有
...
@can('isAdmin')
<a aria-disabled="false" href="{{ route('admin.home')}}" target="_self" class="dropdown-item" role="menuitem" ><i class="fa fa-upload"></i> Admin Menu</a>
@endcan
...
对于我拥有的角色
| id | title |
+----+-------------+-
| 1 | Admin |
| 2 | User |
| 3 | Group Admin |
| 4 | Site Admin |
+----+-------------+-
这就是为什么喜欢 %Admin 查询...
但我发现门似乎不起作用..它只是阻止了所有人..我想为角色标题中包含管理员的任何人启用管理员菜单..
有什么建议吗?
【问题讨论】:
标签: laravel laravel-5 eloquent laravel-blade