Красноречивые отношения Laravel — несколькоwhereHas иwhereIn для разных параметров фильтраPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Красноречивые отношения Laravel — несколькоwhereHas иwhereIn для разных параметров фильтра

Сообщение Anonymous »

У меня есть несколько связей «многие-ко-многим», и я хочу отфильтровать их.
Модели:
  • Состояние >
  • Район
Прикрепил скриншот:
(https://i .sstatic.net/TJPwp.png)
Штаты — Алабама и Аризона, округа — Аутага, Болдуин и Апач.
Когда я проверяю Алабаму и Аризону запрос работает, и я получаю запрошенные элементы.
Теперь мне нужны только элементы из Аризоны и Аутаги, но запрос возвращает только элементы из Аутаги.
$query->when($states, function ($query) use ($districts, $states) {
$query->whereHas('states', function($query) use($states) {
$query->whereIn('name', $states);
});
});
$query->when($districts, function ($query) use ($districts, $states) {
$query->where(function ($subQuery) use ($states, $districts) {
$subQuery->whereHas('states', function($query) use($states) {
$query->whereIn('name', $states);
});
$subQuery->whereHas('districts', function($query) use($districts) {
$query->whereIn('name', $districts);
});
});
});


Подробнее здесь: https://stackoverflow.com/questions/757 ... erent-filt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»