У меня есть расчетная колонка, которую я хочу сортировать. У меня есть метод получить за это ...Yii Sortable Column in CGridView
public function getCur_margin() {
return number_format(($this->store_cost/$this->store_price)/$this->store_cost * 100, 2) . '%';
}
И я последовал за эту тему ...
CGridview custom field sortable
Но теперь он ищет фактический столбец в базе данных. Как я могу получить поле, используя <calculations> AS cur_margin
только временно для этого CActiveDataProvider?
Вот код контроллера для поставщика:
$dataProvider = new CActiveDataProvider('Products', array(
'criteria' => array(
'condition' => 'store_id IN (SELECT `id` FROM `stores` WHERE `user_id` = ' . Yii::app()->user->id . ')',
),
'pagination' => array(
'pageSize' => 15,
),
'sort'=>array(
'attributes'=>array(
'cur_margin' => array(
'asc' => 'cur_margin ASC',
'desc' => 'cur_margin DESC',
),
),
),
));
Это может помочь: http://www.mrsoundless.com/php/yii/searching-and-sorting-a-column-from-a-related-table-in-a-cgridview/ – MrSoundless