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))