我有2个桌子'用户'和' instantUsers'。我想在users.id = instantUsers.user_id上加入它们,并希望在结果上添加2 where子句。我不知道如何做到这两点。我使用的查询是 -
DB::table('users')
->join('instantUsers', function($join) use ($userId) {
$join->on('users.id', '=', 'instantUsers.user_id');
})
->where('instantUsers.instantMode', '=', '1')
->where (function($query) use ($userId) {
$query->where('instantUsers.user_id', '!=', $userId);
})
->get();
答案 0 :(得分:0)
你可以尝试这个,也许这会对你有所帮助:
DB::table('users as table1')->join('instantUsers as table2','table1.id','=','table2.fkId') ->where('table2.instantMode','=','1')->where('table2.user_id','!=',$userId)->get();
答案 1 :(得分:0)
您的'instantUsers.instantMode','=','1'
表达式可以在联接中完成,从而提高性能。
我会这样写的
DB::table('users')
->join('instantUsers', function($join) use ($userId) {
$join
->on('users.id', '=', 'instantUsers.user_id')
->on('instantUsers.instantMode', '=', 1);
})
->where('users.id', '!=', $userId)
->get();