어떻게이 쿼리를 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
두 개의 컨트롤러와 두 개의 모델 인보이스와 판매처가 있습니다.
, 당신은 가상 필드를 만들 필요가있다.
$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
참조로 다음의 링크를 사용하여
은 케이크의 요리 책 솔루션을 사용해보십시오 : COUNT
같은 집계 함수의
http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#prepared-statements
이 두 테이블에서 기본 및 외래 키 인 설명해주십시오 –
난 그냥 잊어 미안 해요 외래 키 보복을 추가하려면 sales 테이블에 관련 invoice_id가 있습니다. Invoice 테이블 기본 키 'id' –
@DebasishSahoo CakePHP의 어떤 버전을 사용하고 있습니까? – drmonkeyninja