Laravel-在封闭位置动态访问模型属性

时间:2018-09-18 14:07:03

标签: php mysql laravel eloquent

比方说我有这样的关系:角色有许多用户。角色和用户存储一个code值。

如果我要选择所有具有相同code用户的角色,那么如何使用whereHas子句进行查询?

我尝试过的事情:

$roles = Role::whereHas('users', function ($users) {
    // Obviously doesn't work but it is what I need to access.
    $code = $users->first()
        ->role
        ->code;

    return $users->where('code', $code);
})->get();

1 个答案:

答案 0 :(得分:0)

使用此:

$roles = Role::whereHas('users', function ($query) {
    $query->whereColumn('users.code', 'roles.code');
})->get();