Cakephp复杂查询

Cakephp复杂查询,cakephp,find,Cakephp,Find,我有sql代码,我想用cake php做,但我不知道如何做,我不想像$obj->query($sql)那样做; $obj->query($sql); 这是我的疑问: 选择dbfiles.amount,MONTHNAME(cases.inquiry\u date)作为cases的月份 cases.id=services.case\u id上的内部联接服务 services.id=dbfiles.service\u id上的内部联接dbfiles 其中cases.status=2,年份(cases.

我有sql代码,我想用cake php做,但我不知道如何做,我不想像$obj->query($sql)那样做; $obj->query($sql); 这是我的疑问:

选择dbfiles.amount,MONTHNAME(cases.inquiry\u date)作为cases的月份 cases.id=services.case\u id上的内部联接服务 services.id=dbfiles.service\u id上的内部联接dbfiles 其中cases.status=2,年份(cases.enquiry_date)='2012'和dbfiles.type='INV' 和cases.currency='EUR'按dbfiles分组。发票数量按月份说明

假设$obj属于
案例类

$obj->find('all', array(
   'fields' => array('dbfiles.amount', 'MONTHNAME(cases.enquiry_date) as MONTH',
   'joins' => array(
      array(
         'table' => 'services',
         'type' => 'INNER',
         'conditions' => array('cases.id = services.case_id'),
         'foreignKey' => false
      ),
      array(
         'table' => 'dbfiles',
         'type' => 'INNER',
         'conditions' => array('services.id = dbfiles.service_id'),
         'foreignKey' => false
      )
   ),
   'conditions' => array('cases.status' => 2, ... the rest of your WHERE clauses)
)

你也可以发布你的模型吗?
$obj->find('all', array(
   'fields' => array('dbfiles.amount', 'MONTHNAME(cases.enquiry_date) as MONTH',
   'joins' => array(
      array(
         'table' => 'services',
         'type' => 'INNER',
         'conditions' => array('cases.id = services.case_id'),
         'foreignKey' => false
      ),
      array(
         'table' => 'dbfiles',
         'type' => 'INNER',
         'conditions' => array('services.id = dbfiles.service_id'),
         'foreignKey' => false
      )
   ),
   'conditions' => array('cases.status' => 2, ... the rest of your WHERE clauses)
)