Laravel 隐式模型绑定命名约定?

Sam*_*aye 3 php laravel laravel-5

我在我的控制器操作上使用隐式模型绑定,但是我有一个模型被调用VerifiedDocument,无论我作为模型名称输入什么,我似乎都无法将它加载到我的操作中,但是如果我这样做:

    Route::bind('verificationDocument', function ($value) {
        return VerificationDocument::where('id', $value)->first() ?? abort(404);
    });
Run Code Online (Sandbox Code Playgroud)

有用。

Laravel 使用什么命名约定进行隐式模型绑定?

dpa*_*oli 5

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;
});
Run Code Online (Sandbox Code Playgroud)

请注意,{verification_document} => $verification_document和{document} => $document