Laravel 价格过滤器
Laravel Price Filter Wherebetween
我的 Laravel 项目上有价格过滤器滑块,我正在使用 Bootstrap slider。
这是我在视图中输入的代码
<input name="price" id="ex2" type="text" class="span2" value="" data-slider-min="10" data-slider-max="2000" data-slider-step="5" data-slider-value="[250,450]" onchange="checkBoxHandler()"/>
这是我在 Javascript
上的自动提交脚本
<script>
function checkBoxHandler() {
$('#color_form').submit();
}
$("#ex2").slider({});
</script>
这是我的控制器
$price = $request->price;
if (request()->has('price')) {
$products = product::whereBetween('price', [$price])
->whereHas('categories', function ($query) use ($tags){
$query->where('name', $tags);
})->paginate(20);
我得到了以下错误
SQLSTATE[HY093]: Invalid parameter number (SQL: select count(*) as aggregate from products
where price
between 250,1400 and swim and exists (select * from categories
inner join category_product
on categories
.id
= category_product
.category_id
where products
.id
= category_product
.product_id
and name
= ?))
对于whereBetween,需要传递数组。
whereBetween('price', explode(',', $price))
我的 Laravel 项目上有价格过滤器滑块,我正在使用 Bootstrap slider。
这是我在视图中输入的代码
<input name="price" id="ex2" type="text" class="span2" value="" data-slider-min="10" data-slider-max="2000" data-slider-step="5" data-slider-value="[250,450]" onchange="checkBoxHandler()"/>
这是我在 Javascript
上的自动提交脚本<script>
function checkBoxHandler() {
$('#color_form').submit();
}
$("#ex2").slider({});
</script>
这是我的控制器
$price = $request->price;
if (request()->has('price')) {
$products = product::whereBetween('price', [$price])
->whereHas('categories', function ($query) use ($tags){
$query->where('name', $tags);
})->paginate(20);
我得到了以下错误
SQLSTATE[HY093]: Invalid parameter number (SQL: select count(*) as aggregate from
products
whereprice
between 250,1400 and swim and exists (select * fromcategories
inner joincategory_product
oncategories
.id
=category_product
.category_id
whereproducts
.id
=category_product
.product_id
andname
= ?))
对于whereBetween,需要传递数组。
whereBetween('price', explode(',', $price))