缺少参数3

时间:2017-07-17 19:44:49

标签: php laravel laravel-5 laravel-5.2

我想按价格订购产品,一个链接从低到高,另一个从高到低, 我得到了这个错误:"缺少App \ Http \ Controllers \ ShopController :: products()"当我打开' content.products',页面时。 这是控制器中的功能:

public function products(Request $request,$category_url,$sort){
    Product::getProducts($category_url, self:: $data);
    if ($category1 = Categorie::where('url', '=', $category_url)->first()) {

       $products = Product::where('categorie_id', $category1->getAttribute('id'))->orderBy('price', $sort)->get();

        return view('content.products', self::$data , compact('products', 'sort')); 
    }
}

这是路线:

  Route::get('shop/{category_url}/sorting-{sort}','ShopController@products');

这些是视图中的链接,视图是content.products

  <a href="  {{ url('shop/'.$category['url'].'/sorting-asc')}}" 
 style="color:black"> High to low</a> |
    <a href="  {{ url('shop/'.$category['url'].'/sorting-desc')}}" style="color:black">Low to high</a>

1 个答案:

答案 0 :(得分:0)

更改

public function products(Request $request,$category_url,$sort){

public function products(Request $request,$category_url,$sort = 'ASC'){

这为最后一个参数提供了一个默认值。并确保

Route::get('shop/{category_url}/sorting-{sort}','ShopController@products');

Route::get('shop/{category_url}/sorting-{sort?}','ShopController@products');

使最后一个参数形成url可选。