'max(orders.date) as date',
'max(payments.shop_order_number) as shop_order_number',
'catalog_categories.id as productId',
'orders.user_id',
'catalog_categories.enable_feedback_events',
];
return $this->db->select($fields)
->join('payments', 'payments.id = orders.payment_id', 'left')
->join('catalog_items', 'catalog_items.id = orders.box_id', 'left')
->join('catalog_categories', 'catalog_categories.id = catalog_items.pid', 'left')
->where('orders.date >= ', $startDate)
->where('orders.status', 3)
->group_by(['orders.user_id', 'productId'])
->get('orders')
->result();
Правильно ли группировать по productId ?
а цель какая?
зависит... вроде муська так не умеет, а посгре - да
использую mysql, ошибок пока не было, запросы выполняются
Немного не по теме. Какие вы видите плюсы в таком построении запросов к базе? Разве чистый SQL не проще в написании и поддержке?
это просто плохой пример в целом чистый sql разбивается ровно об тот момент когда пользователю надо сделать некое подобие динамического формирования данных например ты ему выдал таблицу, а он хочет отсортировать по колонке 2 asc и 3 desc, там где колонка 4 больше 5 и колонка 6 значения 123 и 567 вот такое динамическое пожелание по выборке разбивается о нативный sql так процесс его формирования будет выглядеть ацки и тут на помощь может придти query builder
визуально проще воспринимать запрос с помощью цепочки query builder, особенно когда запрос большой
В написании да, в поддержке нет
Обсуждают сегодня