与Laravel中的一个控制器进行多个隐式模型绑定

时间:2018-03-20 11:36:27

标签: laravel laravel-5 laravel-5.3

我正在尝试使用隐式模型绑定将多个模型与一个控制器连接,但如果我尝试使用方法附加多个模型,则会出现以下错误。

index() must be an instance of App\\Http\\Models\\Modelname, string given

这是我的代码:

public function index(Model1 $model1,Model2 $model2,Model3 $model3)
{
    print_r($application_endpoint);
}

路线:

Route::resource("model1.model2.model3","MyController",["except"=>["create","edit"]]);

2 个答案:

答案 0 :(得分:0)

您的路线应如下:

Route::resource("your_route/{model1}/{model2}/{model3}","MyController",[
    "except"=>["create","edit"]
]);

答案 1 :(得分:0)

您可以注册这些路线

Route::resource("model1.model2.model3","MyController",["except"=>["create","edit"]]);

但在您的控制器中,您必须

public function index($id,$id2,$id3)
{

    print_r($application_endpoint);
}

OR

你可以这样做

Route::model('key/key/key', 'MyController')

并在您的控制器中

public function index(Model1 $model1,Model2 $model2,Model3 $model3)
{
    print_r($application_endpoint);
}