我在控制器动作上使用了隐式模型绑定,但是我有一个名为VerifiedDocument
的模型,无论我输入的是什么模型名称,似乎都无法将其加载到动作中,但是如果我这样做:
Route::bind('verificationDocument', function ($value) {
return VerificationDocument::where('id', $value)->first() ?? abort(404);
});
有效。
Laravel对隐式模型绑定使用什么命名约定?
答案 0 :(得分:4)
IIRC隐式绑定的命名约定位于参数名称和类型提示的变量名称之间,即:
// Route declaration
Route::get('verificationdocuments/{verification_document}', YourController@show);
// Controller Action
public function show(VerificationDocument $verification_document)
// or without controller
Route::get('documents/{document}', function (VerificationDocument $document) {
return $document->title;
});
请注意,{verification_document} => $verification_document
和{document} => $document