Laravel的Eloquent表与父母一起“继承”

时间:2016-02-01 00:24:51

标签: php laravel eloquent

我有一个具有JSON列acl_groups的Laravel模型inherits。我应该怎么做,在检查一个组是否可以做某事时查询继承组的“laravel方式”?权限存储在另一个JSON列中,允许/拒绝,因此我可以执行in_array检查单个组是否有权访问。

1 个答案:

答案 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他们如何检查群组和用户的权限。

相关问题