Laravel Eloquent - запрос с динамическим числом условий WHERE (). - PullRequest
0 голосов
/ 29 января 2019

У меня есть таблица из 2 столбцов, property_id и amenity_id.Отношение ко многим ко многим.

Итак, у меня есть динамический массив значений $input['property_amenities'], и я хочу найти все property_id ключи, которые имеют ВСЕ значения в массиве.

ИтакДо сих пор я использую метод whereIn(), но он получает объединение (например, OR) каждого запроса, но мне нужно AND этих условий.

Таким образом, каждый возвращенный property_id должен содержать все значения во входном массиве.

Я хочу что-то подобное, но это не работает.

for ($i = 0; $i < count($input['property_amenities']); $i++) {
     $propertieswithAmenities = $propertieswithAmenities- 
      >where('amenity_id', '=',$input['property_amenities'][$i]);
 }
 return $propertywithAmenities->get();

1 Ответ

0 голосов
/ 29 января 2019

Здесь он будет проверять данные массива только с одним запросом и без необходимости добавлять какой-либо цикл.Надеюсь, это поможет вам.

$propertieswithAmenities::whereIn('amenity_id', collect($input['property_amenities'])->flatten()->all())->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...