繁体   English   中英

Laravel路线错误获取请求

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM