2
組
只有一個結果,我有一個表,如下所示:CakePHP的集團通過字段返回每
id | date | customer_id | env_id | jobs
1 | 2012-11-20 | 200 | 100 | 10
2 | 2012-11-20 | 200 | 101 | 15
3 | 2012-11-20 | 200 | 102 | 12
4 | 2012-11-21 | 200 | 100 | 10
5 | 2012-11-21 | 200 | 101 | 12
6 | 2012-11-21 | 200 | 102 | 20
我後是日期分組的結果。
$usage = $this->Environment->DailyCount->find('all',
array(
'conditions' =>array('DailyCount.customer_id' => $user['customer_id']),
'group' => array('DailyCount.date'),
'recursive'=>-1));
但它只返回一行我想要所有三個!
結果:
Array
(
[0] => Array
(
[DailyCount] => Array
(
[id] => 1
[date] => 2012-11-20
[customer_id] => 200
[env_id] => 100
[jobs] => 10
)
)
[1] => Array
(
[DailyCount] => Array
(
[id] => 4
[date] => 2012-11-21
[customer_id] => 200
[env_id] => 100
[jobs] => 10
)
)
)
我所有的三排在我的結果每個日期後 - 我需要所有三個env_id工作計數。
任何人都可以幫助CakePHP如何做到這一點,甚至如何在MySQL中獲得這樣的結果,我可以弄清楚蛋糕的方式!
HACK ----------- ------------解決方案
我不能回答我的問題,以便編輯問題
好沒有完美的解決方案,但工作對我來說,是一個快速的解決方案:
$dailyCount = $this->Environment->DailyCount->find('all',
array(
'conditions' => array('DailyCount.customer_id' => $user['customer_id']),
'order' => array('DailyCount.date DESC'),
'limit' => $limit,
'recursive'=>-1));
$usage = array();
foreach($dailyCount as $dc){
$usage[$dc['DailyCount']['date']][] = $dc;
}
如果你需要每個日期的所有3行,那麼你爲什麼分組?使用你的示例表,你在找什麼結果表? –
你所得到的結果是正確的,你按用戶ID進行日期分組,所以應該有一個記錄 – Justin
結果是好的。問題在於你對cakephp結果數組的理解。 – Alvaro