Я использую CActiveDataprovider для отображения данных из разных таблиц. Теперь у меня проблема. У меня есть две таблицы (элементы и категории), и у них обоих есть столбцы priority_order, и мне нужно показать данные по порядку обоими столбцами.
Например: есть две категории и шесть элементов, относящихся к этим категориям:
Теперь мне нужно показать данные в CGridView точно так же, как в приведенном выше порядке. Все продукты будут на первом месте и будут отсортированы по их приоритету, а товары для питья придут позже; очевидно, в их порядке.
В ItemsController
я пытаюсь сделать код ниже (теперь только по категориям)
$dataProvider = new CActiveDataProvider('Items', array( 'criteria' => array( 'with' => array('category'), 'condition' => 'user_id=' . Yii::app()->user->id, //'order' => 't.priority_order ASC', 'order' => 'category.priority_order ASC', ), ));
Я был бы рад предоставить более подробную информацию, если все еще недостаточно ясно. Любая помощь будет оценена по достоинству.
$dataProvider = new CActiveDataProvider('Items', array( 'criteria' => array( 'with' => array('category'), 'condition' => 'user_id=' . Yii::app()->user->id, 'order' => 'category.priority_order ASC, t.priority_order ASC', ), ));
Предоставление второго параметра для критериев заказа должно работать