Laravel在表单中发送复合主键

时间:2017-04-19 12:49:12

标签: php laravel laravel-5.2 laravel-query-builder

我有一张带有复合主键的表 Classe 我的问题是当我尝试删除,更新或显示我的表格的一行时,例如删除:

Classe View:

{!!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');
    }

当我点击删除时,我会返回消息成功删除但该行仍然存在于表中,我尝试使用

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

但显示错误:

在RouteCollection.php行中

RouteCollection-> methodNotAllowed(数组(' GET',' HEAD',' POST')) 205

1 个答案:

答案 0 :(得分:0)

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