MySQL/Laravel/ Eloquent : Select rows that exist in 2 tables

标签 mysql laravel laravel-5 eloquent

我有一个 users 表和 2 个数据透视表(user_locationsuser_roles),允许用户与多个“位置”关联,并且“角色”。选择属于纽约(位置)经理(角色)的用户的最佳方式是什么?

每个表中的列:

用户 => id名称

user_locations => user_idlocation_id

user_roles => user_idrole_id

例如,我想获取与 location_id 100 和 role_id 200 关联的用户列表

我希望我能清楚地解释我的目标。预先感谢您!

最佳答案

如果您在用户模型中正确设置了关系,您可以执行以下操作:

$new_york_managers = User::whereHas('locations', function($q) {
    $q->where('id', 100);
})->whereHas('roles', function($q) {
    $q->where('id', 200);
});

关于MySQL/Laravel/ Eloquent : Select rows that exist in 2 tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44768151/

相关文章:

php - 调整图像文件 laravel 5

php - 检查数据库中是否存在用户错误

mysql - 子查询引用外部列的问题

mysql - SQLSTATE[01000] : Warning: 1265 Data truncated for column

php - Laravel 5 中的委托(delegate)路由保护 - 首先检查 Auth

laravel - 将用户 ID 附加到帖子 (Laravel 5.3)

mysql - 无法将字符串转换为整数 - 从散列中的散列中提取值

php - Sublime Text 2 到 MySQL 数据库连接不起作用

Laravel 新星 : Build Components

php - Laravel 验证允许图像或 pdf