如果标题不适合我的问题,请不好意思。使用CakePHP 2选择2列
我有一个名为销售和3列的表名为卖家,买家和价格。
我有什么: Before
我想要什么: After
基本上,我想他们已经与一个买家做销售的总和,显示的卖家名单。
这是SQL查询,我会用:
SELECT seller, buyer ,SUM(price)
FROM sales
GROUP BY seller , buyer
我的问题(除了这个查询可能是错误的)是“翻译”成CakePHP的。通过菜谱会之后,我有这个在我的控制器:
public function myview(){
$this->set('mysales', $this->Sales->find('all',
array('sum(price) AS total','group' => array('seller','buyer'))));
}
我显示的结果myview.ctp与PHP HTML表格(我没有把下面的HTLM元素):
<?php
foreach ($mysales as $thesales)
{
echo $thesales['Sales']['seller'];
echo $thesales['Sales']['buyer'];
echo $thesales['Sales']['total'];
}?>
当然,这是行不通的。我正在使用SQL Server 2014,并且出现此错误:
Error: SQLSTATE[42000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Column 'sales.id' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
非常感谢您的帮助!
你可以在Sales-> find()'上执行'debug()'吗?它应该包含生成的查询。 – Bert
阵列( \t '销售'=>数组( \t \t 'ID'=> '1', \t \t '价格'=> '100', \t \t '买方'=> 'X先生', \t \t'seller'=>'mr.A' \t) ) – heisenberg