Laravel路由错误获取请求

时间:2016-09-06 10:29:26

标签: php laravel laravel-5

设置一个简单的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请求找不到它从网址

2 个答案:

答案 0 :(得分:0)

正如Jonathon的评论中所提到的,您的路线的网址确实应该显示为/admin/overview/5,而不是/admin/overview?id=5

确定您需要的问题:

  • 仔细检查您是否看不到缓存路由 - 在命令行中运行:php artisan route:clear
  • 检查您的路线,确保您没有在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'],
]);

答案 1 :(得分:-2)

您的网址不正确。你应该建立这样的URL:

/管理/概览/ 2

要使用laravel辅助函数:

route('account.single',['id'=&gt; 2])