小编mus*_*aya的帖子

Laravel Eloquent - 在哪里

Laravel 4.2中,我试图实现一个返回所有具有所有特定活动的用户的查询.截至目前,我有一个查询返回所有具有许多活动之一的用户:

//$selectedActivities being an array
        $userByActivities = User::with('activities')
                ->whereHas('activities', function($query) use($selectedActivities){
                    $query->whereIn('id', $selectedActivities);
                })->get();
Run Code Online (Sandbox Code Playgroud)

更清楚:给定的活动a,b,c.我正在寻找所有活动为AND b和c的用户.我的查询返回所有具有OR b OR c活动用户.

谢谢您的帮助.

编辑:

lukasgeiter提供的解决方案导致以下查询:

select * from `users` where 
        (select count(*) from `activities` inner join `activity_user` on `activities`.`id` = `activity_user`.`activity_id` where `activity_user`.`user_id` = `users`.`id` and `id` = '7') >= 1 
        and (select count(*) from `activities` inner join `activity_user` on `activities`.`id` = `activity_user`.`activity_id` where `activity_user`.`user_id` = `users`.`id` and `id` = '3') …
Run Code Online (Sandbox Code Playgroud)

laravel eloquent

5
推荐指数
2
解决办法
5138
查看次数

标签 统计

eloquent ×1

laravel ×1