【发布时间】:2015-09-29 20:10:40
【问题描述】:
我正在尝试使用连接查询获取用户列表,但它无法正常工作。我想检索除当前 user_id 之外的所有用户。我传入一个 user_id 来排除,但结果返回所有用户,并且它应该有一个除当前 user_id 之外的所有用户的列表。
它还从首选项表而不是用户表返回一个行 id 值。
这是我的问题。
$query = DB::table('users')
->join('preferences', function($join) use($results) {
$join->on('users.id', '=', 'preferences.UserId')
->where('preferences.ClassIdFrom', '>=', $results->ClassIdFrom)
->where('preferences.ClassIdTo', '<=', $results->ClassIdTo);
})
->where('users.id', '!=',$UserId)
->whereNotIn('users.id', $mid_query)
->whereNotIn('users.id', $last_query);
$result = $query->get();
如果我使用 22 的 user_id 运行查询,结果不应该包括这个用户,所以这不起作用。
->where('users.id', '!=',$UserId)
同样,结果会正确返回用户表中的所有列,除了 id 列值来自首选项表。
我想加入后
->where('users.id', '!=',$UserId)
->whereNotIn('users.id', $mid_query)
->whereNotIn('users.id', $last_query);
这三个都不行
【问题讨论】:
标签: php mysql laravel laravel-4 laravel-5