我最近为一个项目安装了laravel 6。
不幸的是,路线无法正常工作。
例如,我将用户引导至具有此路线的页面。
{{ route('user.edit', ['id' => $user->id]) }}.
它应该转到admin/user/{user}/edit
。
但是它进入了一条未知的路线:
/admin/admin/user//edit?id=1
我的路线:
Route::group(['namespace' => 'Admin', 'middleware' => ['auth', 'IsVerified'], 'prefix' => 'admin'], function () {
route::resource('/user', 'UserController');
});
答案 0 :(得分:3)
您的路线模型绑定不正确,请将您的href更改为此
{{ route('user.edit', ['user' => $user]) }}
结果:
/admin/user/1/edit
在模型上调用Route::resource
会返回此网址的修改路线
+--------+-----------+----------------------------+------------------+------------------------------------------------------------------------+-------------------------------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+----------------------------+------------------+------------------------------------------------------------------------+-------------------------------------------------+
| | GET|HEAD | admin/user/{user}/edit | user.edit | App\Http\Controllers\Admin\UserController@edit | web,auth,IsVerified |
请注意,user
模型用于绑定,然后getRouteKeyName
函数自动获取ID,该函数默认返回id
答案 1 :(得分:1)
{{ route('user.edit', ['id' => $user->id]) }}
将成为:
{{ route('user.edit', $user) }}
route::resource('/user', 'UserController');
可能只是:
route::resource('user', 'UserController');