したがって、customer_ratingとofficial_ratingの2つのフィールドを持つモデルがあります。私は明らかにどちらかで並べ替えることができます。私は興味があります:検索を行うとき、それらの両方のフィールドの平均でソートするためのクリーンな方法はありますか?
質問する
439 次
2 に答える
0
Use virtualFields
$this->Model->virtualFields['sum_field'] = 'Model.field_1 + Model.field_2';
$this->Model->find('all', array(
'order' => array(
'Model.sum_field'
)
));
于 2013-02-16T08:02:36.183 に答える
0
別のフィールド「avg_rating」を保持し、モデルの「afterSave()」を介して入力することをお勧めします。これは常に最新の状態に保たれ、過剰な MySQL 計算を常に行う必要はありません。
その時点で他の価値と同じように扱うことができるので、あなたの人生はずっと楽になるはずです。
于 2013-02-16T06:14:25.090 に答える