Добрый день! Пытаюсь вывести записи, отсеяв копии: Код (Text): $query = Product::find(); $pages = new Pagination([ 'totalCount' => $query->count(), 'pageSize' => 15, 'forcePageParam' => false, 'pageSizeParam' => false, ]); $products = $query->offset($pages->offset)->limit($pages->limit)->all(); return $this->render('index', [ 'products' => $products, 'pages' => $pages, ]); Таблица: id code name price quantity desc sale Пробовал groupBy, однако нужно вывести товары с самой низкой ценой. Задача: Получить все товары так, что бы поле code не дублировалось (есть много записей с одинаковым полем code - код продукта) нужно получить продукты с низкой ценой у каждого code. Что-то вроде этого, но только со всеми полями (под мою задачу) Код (Text): SELECT code_medication, MIN(price) FROM tailings t GROUP BY code_medication LIMIT 50; Знаю про distinct(), но из доков и мануалов не могу вкурить как он должен меня выручить. p.s так что бы пагинация работала. Есть идеи? А то уже голову сломал. Заранее большое спасибо
Тут, скорее всего, сложный SQL-запрос нужен, с подзапросом. Что-то типа Код (Text): select product.* from product inner join (select p2.code, min(p2.price) min_price from product p2 group by p2.code) mc on (mc.code=product.code and mc.min_price=product.price) --- Добавлено --- Сейчас времени нету смотреть, но недавно делал где-то такой запрос через query builder. Но всегда есть findBySql, если что.