Laravel eloquent with and groupBy pivot
Возможно ли без дополнительного select или join, а только через with выполнить следующую задачу?
Имеется таблица продуктов Products:
А также таблица модификаций Modifications:
А также таблица для мержа ProductsModifications, т.к. связь "многие ко многим", использую belongsToMany:
Необходимо получить только один продукт из каждой модификации или без модификации. Два продукта "Продукт с модификацией 2" и "Продукт с модификацией 2_2" относятся к одной модификации, т.е. в выборку должен попасть только один.
Пытался сгруппировать через pivot.modification_id и через "products_modifications.modification_id". Успехом не увенчалось.
$products = Product::where("category_id", function ($query) use ($slug) {
$query->select('id')
->from(with(new Category())->getTable())
->where('slug', $slug);
})
->with(["modifications"])
->groupBy('pivot_modification_id')
->paginate($this->countProductsInPage);
Отдельно отмечу, что необходима группировка не внутри with, а снаружи по тем параметрам, которые приходят с with.



