Как сделать упорядочить выборку по рассчитываемому параметру

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
antago
Сообщения: 4
Зарегистрирован: 2014.09.10, 19:50

Как сделать упорядочить выборку по рассчитываемому параметру

Сообщение antago »

Как упорядочить выборку AR по рассчитываемому параметру? OrderBy принимает только имя столбца в БД.
Последний раз редактировалось antago 2014.09.17, 21:50, всего редактировалось 1 раз.
HQ0
Сообщения: 182
Зарегистрирован: 2012.10.17, 17:21

Re: Как сделать упорядочить выборку по рассчитываемому парам

Сообщение HQ0 »

а какой параметр у тебя расчитываемый? пример кода?
antago
Сообщения: 4
Зарегистрирован: 2014.09.10, 19:50

Re: Как сделать упорядочить выборку по рассчитываемому парам

Сообщение antago »

Упорядочить в магазине категории товаров по кол-ву товаров, например.

Код: Выделить всё

$categrories = Category::find()->orderBy( ??????? )->all()
При этом для категории:

Код: Выделить всё

public function getProducts()
    {
        return $this->hasMany(Product::className(), ['category_id' => 'id']);
    }
public function getProductsCount()
    {
        return $this->getProducts()->count();
    }
HQ0
Сообщения: 182
Зарегистрирован: 2012.10.17, 17:21

Re: Как сделать упорядочить выборку по рассчитываемому парам

Сообщение HQ0 »

У меня есть для тебя пример в лоб, попробуй найти решение.

Код: Выделить всё

SELECT *, (SELECT COUNT(*) FROM tbl_items i WHERE t.id=i.cat_id) count_categories 
FROM tbl_items_categories t
ORDER BY count_categories DESC
Ответить