我在控制器操作上使用隐式模型绑定,但是我有一个称为VerifiedDocument
的模型,无论我将其放入什么模型名称,我似乎都无法将其加载到我的动作,但如果我这样做:
Route::bind('verificationDocument', function ($value) {
return VerificationDocument::where('id', $value)->first() ?? abort(404);
});
它有效。
Laravel将用于隐式模型绑定的命名约定?
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