【发布时间】:2017-11-20 07:00:35
【问题描述】:
我想创建可以授予权限的用户。 我创建了一个权限模型,其中包含以下属性 (id|name|displayName|desc)
1|xyz.edit|Edit xyz| Allow to edit xyz
2|xyz.create|Create xyz| Allow to create xyz
因此我想创建如下关系:
public function getPermissions(){
return $this->hasMany('App\Permission');
}
但它不起作用。有什么方法可以建立关系
用户有很多权限,但没有为用户创建相同的权限?
我可以制作像id|pass|login|...|permissions这样的用户模型
并在权限存储权限 id 中以“,”分隔,并在 getPermissions() 函数中进行如下操作:
public function getPerms(){
foreach (explode($this->permssions,',')as $id ){
//here load from database perm by id add to array and return
}
}
或者我在本教程中看到的第二个选项https://www.youtube.com/watch?v=Kas2w2DBuFg 是制作另一个像user_perms 这样带有字段的表
id|user_id|perms|id
但是什么是最好的选择呢?
【问题讨论】:
标签: php laravel permissions acl