2011-04-12 4 views
0

어떻게이 쿼리를 cakePHP의 메서드 find()을 사용하도록 변환 할 수 있습니까?find() 메서드를 사용하여 cakePHP 쿼리

쿼리 : 나는 테스트하지 않았습니다

SELECT Ch.id, COUNT(DU.d_id) AS a, SUM(DU.d_id) AS b 
FROM c AS Ch 
LEFT JOIN du AS DU ON DU.c_id = Ch.id AND MONTH(DU.created) = MONTH(NOW()) 
LEFT JOIN d AS D ON DU.d_id = D.id 
GROUP BY Ch.id 

답변

1
$Ch->find(
    'all',  
    'fields' => array(
       'Ch.id','COUNT(DU.d_id) AS a', 'SUM(DU.d_id) AS b'), 
    'joins' => array(
         array(
          'table' => 'du', 
          'alias' => 'DU', 
          'type' => 'LEFT', 
          'conditions' => array('DU.c_id = Ch.id AND MONTH(DU.created) = MONTH(NOW()')), 
         array(
          'table' => 'd', 
          'alias' => 'D', 
          'type' => 'LEFT', 
          'conditions' => array('DU.c_id = Ch.id AND MONTH(DU.created) = MONTH(NOW()')), 
    'group' => 'Ch.id');   

. Cake JOINs에 대한 자세한 정보 :

http://book.cakephp.org/view/1018/find

관련 문제