laravel 5 orm - 或者关系的地方不能正常工作

时间:2015-10-09 08:57:05

标签: php orm laravel-5

我有这段代码

$query->whereHas('filters',function($q) use ($filters) {
     $q->where('filter_id', $filters[0]);

     for($i = 1; $i < count($filters); $i++)
     {
         $q->orWhere('filter_id', $filters[$i]);
     }
});

问题是,当搜索一个过滤器( count($filters) == 1 )时,结果是正确的并显示与此过滤器相关的项目,但是当我通过多重过滤器( count($filters) > 1 )搜索时,结果是db中的所有项目它没有搜索完毕

我能做什么?

1 个答案:

答案 0 :(得分:0)

我认为你可以通过wherein电话完成同样的事情。

$query->whereHas('filters', function($q) use ($filters){
    $q->whereIn('filter_id',$filters);
});