按CakePHP中两个字段的平均值排序

时间:2013-02-16 01:22:48

标签: cakephp sorting

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

使用virtualFields

$this->Model->virtualFields['sum_field'] = 'Model.field_1 + Model.field_2';
$this->Model->find('all', array(
    'order' => array(
        'Model.sum_field'
    )
));
相关问题