我有一个具有JSON列acl_groups
的Laravel模型inherits
。我应该怎么做,在检查一个组是否可以做某事时查询继承组的“laravel方式”?权限存储在另一个JSON列中,允许/拒绝,因此我可以执行in_array
检查单个组是否有权访问。
答案 0 :(得分:0)
在model
上,您可以设置getter
public function getInheritsAttribute($v)
{
return $v ? json_decode($v, true) : [];
}
OR 如果你不想要一个吸气剂,你可以尝试一个伪吸气剂
public function getPseudoAttribute()
{
return $this->inherits ? json_decode($this->inherits, true) : [];
}
第二种可能有点错误。
和其他模特一样
所以当你拨打$ item-> inherits =时,你会得到array
首先,您可以尝试准备数组,如删除相同的键或值
并在检查后
if (array_key_exists('thing_to_check', $item->inherits)) {
return true;
}
这不是一个有效的代码,它只是一个想法,你怎么能做到你。
请查看Cartalyst Sentinel
他们如何检查群组和用户的权限。