2014-10-07 7 views
-1

У меня есть модель (id, name, ...) и модель OrderItem (id, order_id, product_id), и я хочу сортировать продукты, продавая то, что я могу получить от OrderItem модель.Yii CDbCriteria подсчет связанных строк

Проблема: в yii отношение STAT находится в отдельном запросе, поэтому я не могу его сортировать в CDbCriteria, как я могу поместить этот запрос в CDbCriteria?

ответ

1

Вы пытались присоединиться к cdbcriteria, а затем заказать?

Что-то подобное может работать:

<?php 

$criteria->mergeWith([ 
    'join' => ' INNER JOIN (SELECT COUNT(*) as qty, product_id FROM OrderItem oi GROUP BY product_id) oiInner ON oiInner.product_id=t.product_id', 
    'order' => ' oiInner.qty DESC' 
]); 

Что-то, как это должно работать! Не забудьте добавить это как опцию сортировки в параметры сортировки DataProvider!

+0

Это работает, но теперь я получил только тот продукт, который был заказан уже –

+0

Попробуйте присоединиться! –

Смежные вопросы