你好,我使用的是 laravel 5.4,我会在我的路由中使用模型绑定。但我会使用控制器功能:
Route::get('/user/{id}', 'usersController@show');
Run Code Online (Sandbox Code Playgroud)
但是我会使用模型绑定,因此在我的控制器中我会执行以下操作:
public function show(Request $request, User $user){
dd($user->id)
}
Run Code Online (Sandbox Code Playgroud)
但现在$user->id为空,因为我不知道如何绑定模型和使用控制器功能。我试过:
Route::model('user', 'User');
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
是否可以?
好吧,从 Laravel 手册中您不需要Route::model('user', 'User');,Laravel 为您做到了:
Laravel 会自动解析在路由或控制器操作中定义的 Eloquent 模型,这些模型的类型提示变量名称与路由段名称匹配。
所以只需更改这一行:
Route::get('/user/{user}', 'usersController@show');
Run Code Online (Sandbox Code Playgroud)
并且由于您对变量使用了类型提示,Laravel 会自动将其绑定到用户模型。
| 归档时间: |
|
| 查看次数: |
4638 次 |
| 最近记录: |