ソート可能にしたい計算列があります。私はそれのためのgetメソッドを持っています...
public function getCur_margin() {
return number_format(($this->store_cost / $this->store_price) / $this->store_cost * 100, 2) . '%';
}
そして、私はこのスレッドをフォローしました...
しかし今は、データベース内の実際の列を探しています。<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',
),
),
),
));