Как построить запрос к базе данных, сделать выборку данных через таблицы со связями многие ко многим?

Имею каталог товара в котором в котором таблицы/модели со связями многие ко многим:
64ccd3b94ec8d137577616.jpeg
  • Category – категории, разделы каталога
  • Product – товары каталога
  • Discount – скидки на товары каталога


то есть категория имеет много товаров, а товар может принадлежать нескольким категориям,
в одной заданной скидке может быть много товаров, а один товар принадлежать разным скидкам

Задача, имея ID категории товаров, получить все скидки на товары, принадлежащие указанной категории.

Прошу помощи. Как построить запрос к базе данных?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
iMedved2009
@iMedved2009
Не люблю людей
Как нибудь так.
$discounts = Discount::whereHas('product', function($query) use ($ids) {
        $query->whereHas('categories', function($query) use ($ids) {
                $query->whereIn('id', $ids);
        }));
})->get();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы