如何解决 laravel 5.3 中未定义的路由?

How to solve route not defined in laravel 5.3?

我的控制器代码是这样的:

public function store(CreateUserRequest $request)
{
    $input = $request->all();

    $user = $this->userRepository->create($input);

    Flash::success('User saved successfully.');

    return redirect(route('user.index.'.$input['year']));
}

存在这样的错误:

InvalidArgumentException in UrlGenerator.php line 314: Route [users.index.2016] not defined.

错误时,url 看起来像这样:http://localhost/mysystem/public/users

我的routes\web.php是这样的:

Route::get('users/index/{year}', 'UserController@index')->name('users.index.year');

Route::get('users/create/{year}', 'UserController@create')->name('users.create.year');

Route::resource('users', 'UserController');

我希望 url 看起来像这样:http://localhost/mysystem/public/users/index/2016

有没有人可以帮助我?

您应该将 route() 函数调用为:

route('users.index.year', ['year' => $year])