Laravel 在表单中发送复合主键

Laravel send composite primary key in a Form

嗨,我有一个 table Classe 和复合主键,我的问题是当我尝试删除、更新或显示我的 table 的一行时例如删除:

类视图:

{!!Form::open(array('route'=>['class.destroy',$cl->id1,$cl->id2],'method'=>'DELETE'))!!}
{!!Form::button('Delete',['class'=>'btn btn-danger','type'=>'submit'])!!}
{!!Form::close()!!}

ClasseController

public function destroy(Classe $classe)
    {
        $classe->delete();
        return redirect()->route('class.index')->with('message','successufuly deleted');
    }

当我点击删除时 return 消息 成功删除 但该行仍然存在于 table 中,我试图通过所有 $cl 使用

{!!Form::open(array('route'=>['class.destroy',$cl],'method'=>'DELETE'))!!}

但显示错误:

RouteCollection->methodNotAllowed(array('GET', 'HEAD', 'POST')) 在 RouteCollection.php 行 205

Eloquent 不支持复合主键,因此您可以将自己的路由添加到控制器的另一个方法,该方法将接收两个参数($cl->id1,$cl->id2),然后用这些键找到你的实例模型并进行删除。