2016-12-01 89 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

错误:发生内部错误。 –