首页 > 请教一条laravel的eloquent关联查询

请教一条laravel的eloquent关联查询

表结构

// role表
id  role_id   user_id

// permission表
id  permission_id  role_id


现在要根据 Auth::user()->id where role表里的user_id然后在根据role_id查询出permission表里的permission_id列表。。。这个用eloquent该怎么写呢?


class User extends Model {

    public function iwantpermissions()
    {
        return $this->hasMany('App\Permissions','role_id', 'role_id');
    }

}

$permissions = User::find(1)->iwantpermissions;

one to one的类似。


phpclass User extends Model {

    public function role()
    {
        return $this->hasOne('App\Role','user_id', 'id');
    }

}
class Role extends Model {

    public function permission()
    {
        return $this->hasMany('App\Permission','role_id', 'role_id');
    }

}
$permissions = User::find(Auth::user()->id)->Role()->permission();//未测试,不知是否可行
【热门文章】
【热门文章】