Laravel隐式模型结合命名惯例



我在控制器操作上使用隐式模型绑定,但是我有一个称为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

最新更新