我有3个表
角色
id |`````角色```|
1员工
权限
id
1管理所有项目
2管理客户端
访问权限
id_permission FK|id_role FK
````1````
````````2个
我要一张有的桌子
角色|权限名称|
员工|管理所有项目管理客户|
这3款怎么能
class roles extends Model
class permissions extends Model
class acces_permissions extends Model
如果我错了,请纠正我,您试图实现的是使用用户角色获得所有权限。。
最简单的方法是使用belongsToMany
雄辩关系,在您的角色模型中添加此
public function permissions()
{
return $this->belongsToMany('AppPermissions', 'access_permission_table', 'id_role', 'id_permission');
}
这样,当您调用$role->permissions时,您将获得该角色的所有权限。
好的,我做了
public function permissions()
{
return $this->belongsToMany(permissions::class, 'acces_permissions' , 'id_role',
'id_permission');
}
现在它的工作方式与以前不同我不知道为什么
我放入
public function permissions()
{
return $this->belongsToMany('permissions::class', 'access_permissions',
'id_role', 'id_permission');
}
类内角色扩展模型
获取
$roles=roles::all();
控制器内
和
@foreach($roles as $role)
$role['permissions']
临时
但不起作用
SQLSTATE[42S02]: Base table or view not found: 1146 Table
'mycrm.access_permissions' doesn't exist (SQL: select `permissions`.*,
`access_permissions`.`id_role` as `pivot_id_role`,
`access_permissions`.`id_permission` as `pivot_id_permission` from
`permissions` inner join `access_permissions` on `permissions`.`id` =
`access_permissions`.`id_permission` where `access_permissions`.`id_role` =
1) (View:
F:MYCRMmycrmpackagestccalculatorsrcviewspermission_pack.blade.php)
但是join查询似乎是正确的