我有2个表users_teams和events_users
users_teams拥有所有用户数据(此处为示例)
events_users在用户处于活动时具有
我正在编写一个laravel查询来从users_teams中选择任何具有指定gid的用户,并且也不在带有指定eid的events_users中。
因此对于gid 0和eid 0我应该得到用户C的详细信息
我认为反连接会起作用,但不断变空。有人可以帮忙吗?
$result = Users_team::where('users_teams.gid', '=', $gid)
->leftJoin('events_users', function($join) use ($gid, $eid)
{
$join->on('users_teams.uid', '=', 'events_users.uid')
->where('events_users.eid', '=', $eid);
})
->whereNull('events_users.eid')
->get();
答案 0 :(得分:1)
我认为这就是你所需要的:
$users = Users_team::whereRaw("uid NOT IN (SELECT uid FROM events_users WHERE gid = ? AND eid != ?)", [$gid, $eid])->get();
我尝试了这个简单的SQL query
我希望这适合你。