2016-12-01 59 views
0

選擇我有這樣的選擇:CakePHP的 - 從數據庫狀態

$this->Table->find('list',array('contain'=>false,'conditions'=>array('status'=>1,'unit_id'=>null,'country_id'=>$countryId,'eday'=>$eday),'fields'=>'id')); 

這完美的作品。但現在我需要有另外一個我無法找到如何做到這一點;)

我需要從表但條件選擇所有記錄:

'eday'>=$eday AND 'eday'<$eday+7 

它這個posibble中簡單的方法?也許這是愚蠢的問題,但我沒有在PHP EXP)

+0

對不起[code]'eday'> = $ eday AND'eday'<$ eday + 7 [/ code] –

回答

1

在CakePHP爲and條件相當於是
例子:column1 = 'value' AND column2 = 'value'

'AND' => array(
    'column1' => 'value', 
    'column2' => 'value' 
) 

所以,你的查詢生成器會是這樣

$this->Table->find('list',array(
    'contain' => false, 
    'conditions' => array(
     'status' => 1, 
     'unit_id' => null, 
     'country_id' => $country, 
     'AND' => array(
      'eday >=' => $eday, 
      'eday <' => ($eday+7) 
     ) 
    ), 
    'fields'=>'id' 
)); 
+0

Yeap那很好用;)謝謝你的幫助! –

+0

你現在可以把它標記爲答案嗎? – Beginner

0

只是在當前的條件下陣列傳遞一個與陣列:

$this->Table->find('list',array('contain'=>false, 'conditions'=>array('status'=>1,'unit_id'=>null,'country_id'=>$countryId,'eday'=>$eday, AND => array(array('eday >=' => $eday) , array('eday <' => $eday+7))), 'fields'=>'id')); 
+0

不是,那給了我「錯誤發生」。 –

+0

你得到什麼樣的錯誤?語法錯誤或數據庫錯誤? –

+0

錯誤:發生內部錯誤。 –