如何在查询生成器之间添加?

时间:2015-05-19 14:23:22

标签: php yii2

我实施了自定义搜索,现在我需要为date列选择范围内的值。

public function search($params)
{
    $query = Books::find();
    //.....

    $timestampStart = strtotime($this->dateStart),
    $timestampEnd = strtotime($this->dateEnd)

    // How to add BETWEEN here?!!?!
    $query->andBetween('date', $timestampStart, $timestampEnd) // pseudo-code

从文档中,如何使用它并不完全清楚: https://github.com/yiisoft/yii2/blob/master/docs/guide/db-query-builder.md

1 个答案:

答案 0 :(得分:2)

在文档here中,您可以使用where方法调用。

  

之间:操作数1应该是列名,操作数2和3应该是列范围的起始值和结束值   例如,['between','id',1,10]将生成id BETWEEN   1和10。

因此,在您的情况下,它看起来像:

$query->where(['between', 'date', $timestampStart, $timestampEnd]);

有关构建查询的详细信息,您还可以看到this