Laravel 5 orm - или Где отношения не работают должным образом

1

У меня есть этот код

$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 и его вроде не поиск

Что я могу сделать?

Теги:
orm
laravel-5

1 ответ

0
Лучший ответ

Я думаю, что вы можете сделать то же самое вы пытаетесь сделать с wherein вызовом.

$query->whereHas('filters', function($q) use ($filters){
    $q->whereIn('filter_id',$filters);
});
  • 0
    TNX, позвольте мне проверить
  • 0
    это работа, спасибо большое
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню