Laravel价格过滤中间

时间:2017-09-06 10:31:11

标签: php jquery twitter-bootstrap laravel laravel-5.4

我的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]:无效的参数编号(SQL:选择计数(*)作为products的聚合,其中price介于250,1400和游泳之间(选择*来自categories内部联接category_product位于categoriesid = category_productcategory_id其中productsid = category_productproduct_idname =?))

1 个答案:

答案 0 :(得分:2)

对于whereBetween,您需要传递数组。

whereBetween('price', explode(',', $price))