【发布时间】:2017-08-07 00:59:43
【问题描述】:
我想知道如何在我的应用程序中进行价格过滤?
我使用的是 laravel 5.4
我目前有这样的事情:
public function indexproduct(Request $request) {
$query = Product::orderBy('created_at','desc');
if($request->keyword){
// This will only executed if you received any keyword
$query = $query->where('title','like','%'.$keyword.'%');
}
if($request->min_price && $request->max_price){
// This will only executed if you received any price
// Make you you validated the min and max price properly
$query = $query->where('price','>=',$request->min_price);
$query = $query->where('price','<=',$request->max_price);
}
$products = $query->paginate(6);
return view('frontend.shop', compact('products'));
}
查看:
<form class="form-inline" action="{{route('shop')}}" method="GET">
Min <input class="form-control" type="text" name="min_price">
Max <input class="form-control" type="text" name="max_price">
Keyword <input class="form-control" type="text" name="keyword" >
<input class="btn btn-default" type="submit" value="Filter">
</form>
这将显示我的产品。我还想在我的产品顶部添加过滤器选择框,让用户过滤结果。
更新:现在将加载页面但没有结果,它只是刷新 页面!
【问题讨论】:
-
你尝试了什么?你传递的是什么变量?
-
目前没有!因为我不知道怎么做!
-
检查我的答案。我希望您能提供更多信息,例如模型、表名、与问题相关的视图。
-
如果你正确调用了 paginate(5),则不应显示该错误