@EVOSandru6

Как в yii1 отсортировать ActiveRecord с with по порядку сортировки категорий?

Добрый день,

Есть 2 таблицы (products и category) и 2 модели( Products и Category )

products
----------
id
name
category_id
=========

category
----------
id
name
order_sort (int)
=========


class Products extends ActiveRecord{
...
public function relations() {
		return [
            'category'              =>      [self::BELONGS_TO,  'Category', 'category_id'],
        ];
}


Мне нужно, чтобы товары сортировались по полю сортировки их категории, например (в кавычках - значение order_sort у category):

Холодильник_1 - Холодильники "1"
Холодильник_2 - Холодильники "1"
Холодильник_3 - Холодильники "1"
Холодильник_4 - Холодильники "1"
Холодильник_4 - Холодильники "1"
Холодильник_6 - Холодильники "1"
Велосипед_1 - Велосипеды "2"
Велосипед_2 - Велосипеды "2"
Велосипед_3 - Велосипеды "2"
Велосипед_4 - Велосипеды "2"
Насос_1 - Насосы "3"
Насос_2 - Насосы "3"
Насос_3 - Насосы "3"

То есть товаы должны быть сгрупированы по категориям по порядку сортировки категорий. Пробовал так:

$model = Products::model()->with(
            'category',[
                'order' =>  'order_sort ASC'
            ] )->findAll();


Но видимо неправильно, подскажите, если не трудно.
  • Вопрос задан
  • 303 просмотра
Решения вопроса 1
На вскидку, используя CDbCriteria:
$criteria = new CDbCriteria;
$criteria->with=['category']
$criteria->order='category.order_sort ASC';

$model = Products::model()->findAll($criteria);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы