通过它的身份

时间:2017-03-30 09:07:03

标签: mysql laravel eloquent laravel-5.4

我有两张桌子,但由于我无法在此格式化,您可以查看此imgur img

上的表格。

通配符角色包括department.*blogger.department.*

等字符串

我正在尝试创建角色/权限继承系统,但我仍然坚持创建多对多关系

我试图使用雄辩,但是因为"通配符"我不能成为一个模特,我不能用口才。所以我尝试使用DB Facade,但我对SQL / DB不是很好,所以我真的不知道如何做到这一点。

这就是我需要的东西

  1. 获取角色ID(例如:admin = 1)
  2. 通过角色ID
  3. 从表wildcard_roles获取所有role_wildcards
  4. 返回所有通配符字符串的集合
  5. 备注

    它不必使用eloquent,它可以使用DB facade

2 个答案:

答案 0 :(得分:0)

玩游戏后其实很简单

DB::table('role_wildcards')->where('parent_role_id', $this->id)->get();

认为它要复杂得多

答案 1 :(得分:0)

首先创建从role_wildcards到角色的关系

public function role()
{
    return $this->belongsTo('App\roles','parent_role_id','id');
}

然后您使用下面的关系

DB::table('role_wildcards')->with('role')->whereParentRoleId($this->id)->get();