我正在尝试使用laravel route helper生成带有参数的网址,
route('frontend.admin.categories.edit', $catRequest->id)
但这是生成的网址
http://localhost:8000/admin/categories/edit?1
我需要这样的网址
http://localhost:8000/admin/categories/edit/1
这是我的路线
Route::get('admin/categories/edit/{id}', 'CategoryController@edit')
->name('admin.categories.edit');
这是什么问题?
答案 0 :(得分:1)
您需要为参数使用数组:
route('frontend.admin.categories.edit', ['id' => $catRequest->id])
否则,所有参数都将用作$ _GET参数。
答案 1 :(得分:1)
您可以通过传递关联数组而不是变量来指定要替换的参数。
更改
route('frontend.admin.categories.edit', $catRequest->id)
收件人
route('frontend.admin.categories.edit', [
'id' => $catRequest->id
]);
您输入了错误的路由,您在定义中将路由命名为admin.categories.edit
,但您在辅助函数(不是最初定义的路由)中调用了frontend.admin.categories.edit
。因此您的代码应为:
route('admin.categories.edit', [
'id' => $catRequest->id
]);
阅读材料
答案 2 :(得分:1)
尝试使用php artisan route:list
查看您的路线列表。如果您在列表中找到具有正确Uri的路由,那么您将不会再在路由文件中指定具有相同Uri或相同别名的路由。
希望这会有所帮助:)