【问题标题】:model binding with controller function laravel routing模型绑定与控制器功能 laravel 路由
【发布时间】:2017-09-21 15:23:43
【问题描述】:

您好,我使用的是 laravel 5.4,我会在路由中使用模型绑定。 但我会使用控制器功能:

Route::get('/user/{id}', 'usersController@show');

但我会使用模型绑定,所以在我的控制器中我会执行以下操作:

public function show(Request $request, User $user){
    dd($user->id)
}

但现在$user->id 为空,因为我不知道如何绑定模型和使用控制器功能。 我试过了:

Route::model('user', 'User');

但它不起作用。

有可能吗?

【问题讨论】:

  • 首先你的路线有问题,Route::get('/user/{id}', 'usersController@show'); 应该是Route::get('/user/{user}', 'usersController@show');

标签: php laravel-5


【解决方案1】:

从 Laravel 手册中你不需要 Route::model('user', 'User');,Laravel 会为你做到这一点:

Laravel 自动解析路由中定义的 Eloquent 模型或 类型提示变量名称与路由匹配的控制器操作 段名。

所以只要改变这一行:

Route::get('/user/{user}', 'usersController@show');

而且由于您使用变量的类型提示,Laravel 会自动将其绑定到用户模型。

【讨论】:

    猜你喜欢
    • 2017-06-09
    • 2018-09-15
    • 2020-05-05
    • 2021-09-06
    • 2017-01-26
    • 2021-05-24
    • 1970-01-01
    • 2019-10-22
    • 2018-01-09
    相关资源
    最近更新 更多