【问题标题】:cakePHP query using find() methodcakePHP 查询使用 find() 方法
【发布时间】:2011-04-12 07:00:41
【问题描述】:

如何将此查询转换为使用 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

【问题讨论】:

    标签: php mysql sql find cakephp-1.2


    【解决方案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 JOIN 的更多信息:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      相关资源
      最近更新 更多