记录一次模型 依赖注入 踩过的坑: 控制器方法依赖注入模型变量名与路由变量名必须相同
// 路由
Route::put('post/{id}', 'PostController@update')
// 控制器方法
public function update(Request $request, Post $post) {
dd($post->id);// 返回 null
}
上面这种写法有问题,由于我太菜一直找不到问题。
后来查文档 路由模型隐式绑定 发现:变量名称必须与 URI 中的 {id} 匹配,才能触发隐式绑定。
正确的写法:
// 路由
Route::put('post/{post}', 'PostController@update')
// 控制器方法
public function update(Request $request, Post $post) {
dd($post->id);// 返回id
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
也不一定必须匹配,可以自定义逻辑! 路由《Laravel 5.8 中文文档》