如何在yii2中的查询之间写入

如何在yii2中的查询之间写入,yii2,yii2-advanced-app,yii2-basic-app,Yii2,Yii2 Advanced App,Yii2 Basic App,我有一个问题,我想知道这是否是用yii2编写中间查询的正确方法 在我的控制器代码中,我声明了$to_price,这是我的搜索模型代码,但我总是将$this->to_price的值设为null,下面是我的搜索模型代码 如果是这样的话,我不会得到任何结果,但我可以看到生成的命令在mysql中工作得非常完美 那么这里出了什么问题?问题在$this->to\u price和$this->price的空格中。 它应该是$this->to_price和$this->price。 所以在过滤器行代码之间进行更

我有一个问题,我想知道这是否是用yii2编写中间查询的正确方法

在我的控制器代码中,我声明了$to_price,这是我的搜索模型代码,但我总是将$this->to_price的值设为null,下面是我的搜索模型代码

如果是这样的话,我不会得到任何结果,但我可以看到生成的命令在mysql中工作得非常完美


那么这里出了什么问题?

问题在$this->to\u price和$this->price的空格中。 它应该是$this->to_price和$this->price。 所以在过滤器行代码之间进行更改

->andFilterWhere(['between', 'price', $this ->price, $this -> to_price])


$this和->operator之后不允许使用空格

请确保您的搜索模型具有attribute1和attribute2,并且必须具有规则配置以大量分配。。提供您的searchModel的代码。。。between query正确地实现了…@DoubleH我已经添加了代码,但是在Deubuger中我发现查询很好,$this->to_price也可以在mysql中获得价格,当我手动启动它时,查询工作正常,但它不会通过DataProvider返回任何结果你绝对确定你的命令工作正常吗?SQL代码可能正确,但绑定到命令的参数可能错误。换句话说,在创建$command之前,您能同时将$this->price和$this->to_price进行变量转储吗?
->andFilterWhere(['between', 'price', $this ->price, $this -> to_price])
->andFilterWhere(['between', 'price', $this->price, $this->to_price])