запрос cakePHP с использованием метода find () - PullRequest
0 голосов
/ 12 апреля 2011

как я могу преобразовать этот запрос, чтобы использовать метод cakePHP find()?

запрос:

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 Ответ

1 голос
/ 12 апреля 2011
$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

...