dp411805872 2017-09-06 10:31
浏览 62
已采纳

Laravel价格过滤中间

I have price filter slider on my Laravel project and I am using Bootstrap slider.

Here is my input code on view

<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()"/>

Here is my auto submit script on Javascript

<script> 
    function checkBoxHandler() { 
        $('#color_form').submit(); 
    } 

    $("#ex2").slider({});
</script>

Here is my controller

$price = $request->price;
if (request()->has('price')) {
    $products = product::whereBetween('price', [$price])
        ->whereHas('categories', function ($query) use ($tags){
            $query->where('name', $tags);
        })->paginate(20);

And I got the following error

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

  • 写回答

1条回答 默认 最新

  • dtotwai720621 2017-09-06 10:36
    关注

    For whereBetween, you need to pass array.

    whereBetween('price', explode(',', $price))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集