【发布时间】:2018-08-24 15:49:43
【问题描述】:
我正在尝试为某些产品实现过滤方法。
这是路线:
Route::get('/TVs/{type?}/{producer?}', 'Product\AllProducts@getTVs')->where(['type' => '4kTV|curved|lcd|oled|plasma'], ['producer'=>'Samsung'])->name('TVs');
这是控制器功能:
public function getTVs($type = null, $producer = null)
{
$products = DB::table('products')->paginate(16);
if($type!=null) {
$products = Product::where('type', $type)->paginate(16);
}
if($producer!=null) {
$products = Product::where('description','like', '%'.$producer.'%')->paginate(16);
}
return view('product.TVs', ['products' => $products]);
}
如果我选择类型,页面会刷新并显示结果。然后,如果我进入生产者,它会再次起作用。我怎样才能以这样的方式制作路由,使得可选参数的顺序无关紧要,并且无论顺序如何我都可以过滤结果?
【问题讨论】: