duan1226 2018-05-17 16:31 采纳率: 100%
浏览 861
已采纳

带参数的Laravel路由导致404

I have a route setup which is throwing a 404 in my Laravel 5.6 app.

The problematic route is:

Route::get('/project/{project_id}/issue/create', 'IssueController@create');

If I remove the {project_id} parameter the view loads..but I need to be able to pass this id since I will be using it on this view to create new issues that are assigned to a project. All of the other routes work without issue.

My routes file (web.php) looks like this:

Route::get('/projects', 'ProjectController@index');
Route::get('/project/{project_id}', 'ProjectController@show');
Route::get('/project/{project_id}/issue/{issue_id}', 'IssueController@show');
Route::get('/project/{project_id}/issue/create', 'IssueController@create');

And my create function in the IssueController file is this:

public function create()
{
    return view('issue.create');
}
  • 写回答

1条回答 默认 最新

  • dou426098 2018-05-17 16:35
    关注

    You missed project_id as parameter of your create method. Try this:

    public function create($project_id)
    {
        return view('issue.create');
    }
    

    and make a route like this:

    Route::get('/project/issue/create/{project_id}','IssueController@create');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?