我的控制器中有方法(singleProduct):
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>
虽然我已经通过了路由所需的两个参数。我的路由返回错误:
Missing required parameters for [Route: single.product] [URI: {category}/{slug}].
答案 0 :(得分:3)
定义路径参数的正确方法如下:
route('single.product', ['category' => $product->category, 'slug' => $product->slug])
因此,您在视野中的路线将如下:
<a href="{{ route('single.product', ['category' => $product->category, 'slug' => $product->slug]) }}">{{$product->title}}</a>
答案 1 :(得分:0)
在路线定义中你有slug和类别,但是在方法中你实际上只是slug,所以也许可以帮助添加$ category到singleProduct:
public function singleProduct($category, $slug)
{
$product= Product::where('slug','=', $slug)->first();
return view('public.product.show')->withProduct($product);
}