記錄一次模型 依賴注入 踩過的坑: 控制器方法依賴注入模型變數名與路由變數名必須相同

王子飛發表於2020-09-10
// 路由
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 協議》,轉載必須註明作者和本文連結

相關文章