Cakephp 複雜查詢 (Cakephp complex query)


問題描述

Cakephp 複雜查詢 (Cakephp complex query)

I have the sql code and i want to do in cake php but i dont know how and i don't want to do it like that   

 $obj->query($sql);
This is my query: 

"SELECT dbfiles.amount, MONTHNAME(cases.enquiry_date) as Month FROM cases
   INNER JOIN services ON cases.id = services.case_id
   INNER JOIN dbfiles ON services.id = dbfiles.service_id
   WHERE cases.status = 2 AND YEAR(cases.enquiry_date) = '2012' AND dbfiles.type = 'INV'
   AND cases.currency = 'EUR' GROUP BY dbfiles.invoice_num ORDER BY Month DESC; "
   


參考解法

方法 1:

Assuming $obj is of class Case

$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)
)

(by zihatzikAndreas Wong)

參考文件

  1. Cakephp complex query (CC BY-SA 3.0/4.0)

#find #cakephp






相關問題

禁止查找和 grep“無法打開”輸出 (Suppress find & grep "cannot open" output)

Cakephp 複雜查詢 (Cakephp complex query)

如何在 hasMany 關聯中使用 CakePHP 2 查找? (How to use CakePHP 2 find in a hasMany association?)

Jquery 響應 find() 失敗? (Jquery respond to find() fail?)

正則表達式記事本++ (RegEx Notepad++)

使用 VBA 在 MS Word 表格中查找和替換可變長度文本 (Find & replace variable length text in MS Word tables using VBA)

獲取子字符串周圍的字符數半徑 (Get set number radius of characters around substring)

僅在不到一天的文件中搜索字符串 (Search for a string only in files less than a day old)

c++ 查找和替換整個單詞 (c++ Find and replace whole word)

使用 grep 過濾後如何忽略行首和行的一部分 (How to ignore beginning of line and parts of a line after filtering with grep)

查找函數加上循環給出 1004 錯誤 (Find function couple with loop gives 1004 error)

VS Code 查找和替換:當我輸入 ctrl+h 時,有沒有辦法保留我以前的查找項? (VS Code find-and-replace: is there a way to keep my previous find term when I type ctrl+h?)







留言討論