2011-04-06 68 views
0

我对cakephp相当陌生,我需要在cakephp查询中找到一对多相关表的SUM。Cakephp SUM相关字段

我有表用户 和表发票

我想属于用户,当我做一个找到用户表的发票的总和。我正在寻找的结果是显示用户和总计发票。

我搜索了它,它看起来像cakephp 1.3有一个名为virtualfields的功能,但我正在处理的应用程序是蛋糕1.2 ...我不确定我想要将该框架升级到1.3 。

有没有办法在1.2中完成同样的事情?

回答

2

尝试这样的事情在你的发现(做适当修改):

array('fields' => array('sum(Model.quantity) AS total') 

希望它能帮助。

+0

如果我把下面的子查询放在字段列表中,那么这个方法就行得通: 'array('fields'=> array('(SELECT SUM(Invoice.total)FROM Invoices WHERE Users.id = User.id)' )' 问题是它也抹去了所有被选中的其他字段。有没有办法保存这些? – Josh 2011-04-06 21:46:48

+0

你尝试数组('字段'=>数组('(SELECT SUM(Invoice.total)FROM Invoices WHERE Users.id = User.id)总计)','Field1','Field2')? – Rui 2011-04-06 21:50:09

+0

不要忘记sum是一个聚合器,所以你可能需要使用“group by”。 – Rui 2011-04-06 21:52:20