我想按价格订购产品,一个链接从低到高,另一个从高到低, 我得到了这个错误:"缺少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>
答案 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可选。