CakePHP - 从条件数据库中选择

时间:2016-12-01 17:52:16

标签: cakephp multiple-conditions

我有这个选择器:

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

这很完美。但现在我需要另一个我无法找到如何做到这一点;)

我需要从Table中选择所有记录,但条件为:

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

它的这个位置很容易吗?也许这是一个愚蠢的问题,但我没有在PHP中使用exp;)

3 个答案:

答案 0 :(得分:1)

在cakephp中,DECLARE @input string = @"/so.json"; REFERENCE ASSEMBLY [Newtonsoft.Json]; REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats]; @meta = EXTRACT Id string FROM @input USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor(); @items = EXTRACT purchaseDate string FROM @input USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor("body.nprobe.items[*]"); @itemsFull = SELECT Id, purchaseDate FROM @meta CROSS JOIN @items; OUTPUT @itemsFull TO "/items_full.csv" USING Outputters.Csv(); 条件的等价物是
示例:and

column1 = 'value' AND column2 = 'value'

所以你的查询构建器就像这样

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

答案 1 :(得分:0)

只需在当前条件数组中传递一个AND数组:

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

答案 2 :(得分:0)

您尝试过这样的事情吗?

$conditions['status'] = 1;
$conditions['unit_id'] = null;
$conditions['country_id'] = $countryId;
$conditions['eday >='] = $eday;
$conditions['eday <'] = $eday + 7;

$this->Table
    ->find('list') //either use this
    ->find('all') //or use this
    ->find() //or this
    ->where($conditions)
    ->select(['addFiledsToSelectHere'])

这看起来更干净。

相关问题