MySQL/Laravel/Eloquent:选择存在于两个表中的行
我有一个MySQL/Laravel/Eloquent:选择存在于两个表中的行,mysql,laravel,laravel-5,eloquent,laravel-eloquent,Mysql,Laravel,Laravel 5,Eloquent,Laravel Eloquent,我有一个用户表和两个透视表(用户位置,用户角色),允许用户与多个“位置”和“角色”关联。选择属于(比如)纽约(一个地点)和经理(一个角色)的用户的最佳方式是什么 每个表中的列: 表用户=>id,名称 表user\u locations=>user\u id,location\u id 表user\u roles=>user\u id,role\u id 因此,例如,我想获得一个与location\u id100和role\u id200关联的用户列表 我希望我清楚地解释了我的目标。提前谢谢你 如
用户
表和两个透视表(用户位置
,用户角色
),允许用户与多个“位置”和“角色”关联。选择属于(比如)纽约(一个地点)和经理(一个角色)的用户的最佳方式是什么
每个表中的列:
表用户
=>id
,名称
表user\u locations
=>user\u id
,location\u id
表user\u roles
=>user\u id
,role\u id
因此,例如,我想获得一个与location\u id100
和role\u id200
关联的用户列表
我希望我清楚地解释了我的目标。提前谢谢你 如果在用户模型中正确设置了关系,则可以执行以下操作:
$new_york_managers = User::whereHas('locations', function($q) {
$q->where('id', 100);
})->whereHas('roles', function($q) {
$q->where('id', 200);
});