Route::get('/products/{page?}', 'ProductController@index')->name('products');
Route::get('/products/{category}/{page?}', 'ProductController@index')->name('products');
我创建了两条路线。
所有产品的第一个,类别的其他。
我遇到一个错误:
缺少[路由:产品] [URI: 产品/ {类别} / {页面?}]。
它是laravel:5.5
我正在呼叫所有这样的产品:
{{ route('products') }}
答案 0 :(得分:1)
将您的路线名称更改为
Route::get('/products/{page?}', 'ProductController@index')->name('products');
Route::get('/products/{category}/{page?}', 'ProductController@index')->name('product.category');
对于产品路线:
{{ route('products') }}
对于类别路线:
{{ route('product.category') }}
答案 1 :(得分:0)
您的路线命名冲突,您需要为您的路线指定唯一的名称。
Route::get('/products/{page?}', 'ProductController@index')->name('products.page');
Route::get('/products/{category}/{page?}', 'ProductController@index')->name('products.category.page');
使用新名称呼叫路线。
{{ route('products.page') }}
如果要使用category参数获取该路线的路线。
{{ route('products.category.page', $category) }}
答案 2 :(得分:0)
两个路由不能具有相同的名称,而您正在这样做。 将您的路线名称更改为:
Route::get('/products/{page?}', 'ProductController@index')->name('products');
Route::get('/products/{category}/{page?}', 'ProductController@index')->name('category.products');
然后您可以拨打以下路线:
{{ route('products') }}
{{ route('category.products', ['category' => $category->id) }}
谢谢。