有口才有很多通过belongsTo关系吗?

时间:2019-10-04 00:01:42

标签: php laravel eloquent

我正在Laravel中实现一个简单的用户角色和权限模型,但是我不确定我需要的口才关系是否存在。我想返回用户权限的关系,但这是通过角色模型。用户通过role_id仅具有一个角色,但是一个角色具有许多权限。

用户 longsTo = = 角色 hasMany => 权限

我想要一种User->permissions()的雄辩的关系方法,但是hasManyThrough不是正确的关系结构。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

像这样

用户

public function permissions()
{
    return $this->role->permissions;
}

答案 1 :(得分:0)

您可以使用HasManyThrough关系:

class User extends Model
{
    public function permissions()
    {
        return $this->hasManyThrough(
            Permission::class, Role::class, 'id', null, 'role_id'
        );
    }
}