我希望使用以下查询获得指定价格范围的产品,但会收到以下错误:
无法将值转换为字符串InvalidArgumentException
$product_List=$this->Products->find('all',array('conditions' => array('product_price BETWEEN ? and ?' => array($min, $max))));
这里product_price的类型为varchar(100)。请帮助解决我的问题。
答案 0 :(得分:1)
我认为它可以帮助你
$product_List = $this->Products->find('all')
->where(function ($exp) use($min,$max) {
return $exp->between('product_price', $min, $max); //Consider $min=100 ; $max =1000; product_price BETWEEN 100 AND 1000;
});
答案 1 :(得分:0)
另一种方式。
$product_List = $this->Products->find('all')
->where(['product_price <=' => $max, 'product_price >=' => $min]);