1

所以我有一个包含两个字段的模型:customer_rating 和 official_rating。我显然可以按其中一个排序。我很好奇:在进行查找时,是否有一种干净的方法可以按这两个字段的平均值进行排序?

4

2 回答 2

0

我建议保留另一个字段“avg_rating”并通过模型上的“afterSave()”填充它。它保持最新,您不需要不断地进行过多的 MySQL 计算。

应该让你的生活更轻松,因为你可以像在那个时候处理任何其他价值一样处理它。

于 2013-02-16T06:14:25.090 回答
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 回答