Добрый день, пытаюсь получить уникальные товары по самым низким ценам. У меня есть такая таблица продуктов: введите описание изображения здесь
Я хочу получить список товаров со всеми столбцами. Теперь есть некоторые продукты, которые имеют более одного поставщика, и в этом случае я хочу получить продукт с наименьшим cost_price
.
Пока что я пробовал это
$products = DB::table('products')
->select('identifier')
->selectRaw('MIN(cost_price) as cost_price')
->where('stock', '>', 0)
->groupBy('identifier')
->orderBy('cost_price', 'asc')
->distinct()->get();
Этот запрос возвращает мне правильные результаты, но я не могу добавлять столбцы каждый раз, когда добавляю столбец, например stock
в select, мне нужно добавить также в GroupBy, а затем я просто получаю все продукты.
Как это сделать? Спасибо за внимание.