路由错误的多个参数 laravel
Multiple parameter to route error laravel
我的控制器(单一产品)中有方法:
public function singleProduct($slug)
{
$product= Product::where('slug','=', $slug)->first();
return view('public.product.show')->withProduct($product);
}
我的路线是:
Route::get('/{category}/{slug}',['as' => 'single.product', 'uses' => 'LinkController@singleProduct']);
查看我的代码:
<a href="{{ route('single.product', $product->category, $product->slug) }}">{{$product->title}}</a>
虽然我已经传递了 route.My 路由所需的两个参数,但返回错误:
Missing required parameters for [Route: single.product] [URI: {category}/{slug}].
在路由定义中你有 slug 和 category,但在方法中你实际上得到的只是 slug,所以将 $category 添加到 singleProduct 可能会有所帮助:
public function singleProduct($category, $slug)
{
$product= Product::where('slug','=', $slug)->first();
return view('public.product.show')->withProduct($product);
}
定义路由参数的正确方法如下:
route('single.product', ['category' => $product->category, 'slug' => $product->slug])
因此您看到的路线将是:
<a href="{{ route('single.product', ['category' => $product->category, 'slug' => $product->slug]) }}">{{$product->title}}</a>
我的控制器(单一产品)中有方法:
public function singleProduct($slug)
{
$product= Product::where('slug','=', $slug)->first();
return view('public.product.show')->withProduct($product);
}
我的路线是:
Route::get('/{category}/{slug}',['as' => 'single.product', 'uses' => 'LinkController@singleProduct']);
查看我的代码:
<a href="{{ route('single.product', $product->category, $product->slug) }}">{{$product->title}}</a>
虽然我已经传递了 route.My 路由所需的两个参数,但返回错误:
Missing required parameters for [Route: single.product] [URI: {category}/{slug}].
在路由定义中你有 slug 和 category,但在方法中你实际上得到的只是 slug,所以将 $category 添加到 singleProduct 可能会有所帮助:
public function singleProduct($category, $slug)
{
$product= Product::where('slug','=', $slug)->first();
return view('public.product.show')->withProduct($product);
}
定义路由参数的正确方法如下:
route('single.product', ['category' => $product->category, 'slug' => $product->slug])
因此您看到的路线将是:
<a href="{{ route('single.product', ['category' => $product->category, 'slug' => $product->slug]) }}">{{$product->title}}</a>