2015-12-31 40 views
0

代碼不工作狀態CakePHP的條件或工作,但順序排序不工作與順序排序不工作

請幫我什麼問題

$this->Offer->find(
    'all', 
    array(
     'conditions' => array(
      'OR' => array(
       array('Offer.branch_id' => 1), 
       array('Offer.branch_id' => $branch['Branch']['id']) 
      ) 
     ) 
    ), 
    array('order' => array('Offer.order_no' => 'DESC')) 
); 
+2

隨着現在可以正確格式的代碼,你應該很容易[發現你的錯誤(http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#find )。使用適當的格式有助於避免此類問題。 – ndm

+0

這裏有什麼問題?我認爲代碼是正確的 –

+0

@ndm爲我自己的堆棧溢出學習經驗:回答這個問題不只是更好嗎?我知道這個錯誤對於大多數經驗豐富的CakePHP用戶來說可能是顯而易見的,但是對於OP來說可能不是。 –

回答

1

試試這個代碼: - >

$this->Offer->find(
    'all', 
    array(
     'conditions' => array(
      'OR' => array(
       array('Offer.branch_id' => 1), 
       array('Offer.branch_id' => $branch['Branch']['id']) 
      ) 
     ), 
     'order' => array('Offer.order_no' => 'DESC') 
    ) 
); 
+0

你好像沒錯。但是,由於您在'OR'條件中刪除了'array()'包裝,因此'Offer.branch_id'將覆蓋自身。 –

+0

哎呀真的很抱歉,我沒有專注於條件陣列。 –

0
$this->Offer->find('all', array(
    'conditions' => array(
     'OR' => array(
      'Offer.branch_id' => 1, 
      'Offer.branch_id' => $branch['Branch']['id'] 
     ) 
    ), 
    'order' => array('Offer.order_no DESC') 
)); 
  1. 在OR =>數組,沒有ARRA ÿ再次,
  2. 地點條件後的順序,使像 '順序'=>數組( 'Offer.order_no DESC') ,

DESC =降序的格式,是排序order_no從最後 ASC =升序,從排序第一

+0

請解釋你的答案,以便人們可以從中學習。 SO不是代碼編寫的服務和你的答案不應該意味着,要麼 – Sjon

+0

我很抱歉,我想解釋一下我的答案,但我的格式代碼錯誤,現在我已經編輯我的答案,我希望我的回答可以幫助.. –

+0

你的更新看起來不錯;但你是否意識到你正在發佈重複的答案?這是完全一樣的http://stackoverflow.com/a/34556016/3749523 – Sjon