CakePHP从两个不同的表中查找查询SUM()两个字段

时间:2011-12-09 09:44:01

标签: cakephp methods find sum

我正在使用CakePHP Find查询从两个diff db表中的两个diff字段获取SUM()

$total = $this->Model->find('all',array('fields' =>
array(
  'SUM(Model1.amount * Model2.purchase * Model3.rental * Model4.manu) as total'),
  'group' => array( 'Model.trackby_id' ) )
);

我发现sum()方法对于相同的表两个diff字段很有用,但是当diff表中有两个diff字段时它似乎不起作用。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:3)

您需要在查找方法的参数中的字段数组中指定SQL片段。

$total = $this->Model->find('all', array(
  'fields' => array(
    'SUM(Model.price + OtherModel.price) AS total'
  ),
  'group' => 'Model.id'
));