Laravel选择特定选项后进行排序

时间:2019-02-07 22:21:33

标签: laravel

我想在我的应用程序中添加一个选择字段,并可以选择按添加日期或价格对产品进行排序。选择特定选项后,例如按价格排序,从最便宜的产品退回。我知道如何对产品进行排序,但是我不知道如何在选择特定选项(例如按价格排序。我的代码:

web.php

Route::get('/{category}', 'ProductController@index');

ProductController:

public function index()
    {          
        $products= Product::latest()->get();
        return view('category')->with('products', $products);
    }

1 个答案:

答案 0 :(得分:1)

在您看来,您可以使用如下形式获取用户要过滤的夹心类别:

<form method="get" action="{{route('product.index')}}">
@csrf
 <select name="category">
  <option value="price">Price</option>
  <option value="date">Date</option>
 </select>
 <button type="submit">Search</button>
</form>

在您的控制器中,您可以使用所选选项过滤集合:

public function index(Request $request)
    {          
        $products= Product::all()->sortBy($request->category);
        return view('category')->with('products', $products);
    }