0
如何將此查詢轉換爲CakePHP查詢?如何將此查詢轉換爲CakePHP查詢?
SELECT COUNT(invoices.id) FROM invoices,sales
WHERE invoices.id=sales.invoice_id AND to_id='13' AND is_updated='0'
GROUP BY invoice_id
我有兩個控制器和兩個模型,發票和銷售。
如何將此查詢轉換爲CakePHP查詢?如何將此查詢轉換爲CakePHP查詢?
SELECT COUNT(invoices.id) FROM invoices,sales
WHERE invoices.id=sales.invoice_id AND to_id='13' AND is_updated='0'
GROUP BY invoice_id
我有兩個控制器和兩個模型,發票和銷售。
對於像COUNT
聚合函數,你需要創建虛擬領域。
$this->Invoice->virtualFields['total'] = 'COUNT(`Invoice`.`id`)';
$result = $this->Invoice->find('all', array(
'fields' => array('Invoice.total'),
'joins' => array(
array(
'table' => 'sales',
'alias' => 'Sale',
'type' => 'INNER',
'conditions' => array(
'Invoice.id = Sale.invoice_id',
)
)
),
'conditions' => array(
'to_id' => 13,
'is_updated' => 0
),
'group' => array('Sale.invoice_id')
));
pr($result); // Check your result
使用以下鏈接作爲參考:
請解釋這既是表中的主鍵和外鍵 –
對不起,我只是忘了要添加外鍵報復,在銷售表中有一個與之相關的invoice_id以發票表主鍵「ID」 –
@DebasishSahoo您使用的是CakePHP的哪個版本,因爲這會產生很大的差異! – drmonkeyninja