[英]Laravel routes error get request
设置一个简单的get请求似乎会引发http错误,这是到目前为止的代码:
链接:
<a href="{{ route('account.single', ['id' => $account->id]) }}">
路线:
Route::get('/admin/overview/{id}', [
'uses' => '\App\Http\Controllers\AdminController@getSingle',
'as' => 'account.single',
'middleware' => ['auth', 'admin'],
]);
在网址中显示为admin/overview?id=5
控制器:
public function getSingle($id)
{
return view('admin.account');
}
这是我得到的错误notFoundHttpException in RouteCollection.php line 161:
请注意,如果我从路由网址中删除了/overview/
,因此它显示为/admin/{id}
,但可以正常运行,但是get请求找不到从网址中找到/ overview /的ID
正如乔纳森(Jonathon)的评论中提到的那样,您的路线的网址实际上应该按照您的预期显示为/admin/overview/5
而不是/admin/overview?id=5
。
要确定问题,您需要:
php artisan route:clear
admin/{some_variable}
检查您的路线,以确保您未在您的routes.php
文件中再碰到另一条路线,例如admin/{some_variable}
。 您可以使用php artisan route:list
查看Laravel正在寻找的路由列表 routes.php
文件中调整顺序,将具有较高特异性的路由置于具有较低特异性的路由之上(以下示例)。 Route::get('/admin/overview/{id}', [
'uses' => '\App\Http\Controllers\AdminController@getSingle',
'as' => 'account.single',
'middleware' => ['auth', 'admin'],
]);
Route::get('/admin/{some_variable}', [
'uses' => '\App\Http\Controllers\AdminController@getSomething',
'as' => 'account.something',
'middleware' => ['auth', 'admin'],
]);
您的网址不正确。 您应该像这样建立网址:
/ admin / overview / 2
为此,请使用laravel helper函数:
route('account.single',['id'=> 2])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.