【问题标题】:Laravel send composite primary key in a FormLaravel 在表单中发送复合主键
【发布时间】:2017-04-19 12:49:12
【问题描述】:

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

类视图:

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

类控制器

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

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

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

但它显示一个错误:

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 好的谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 2014-07-31
    • 2021-02-28
    • 1970-01-01
    • 2018-01-31
    • 2021-10-30
    • 1970-01-01
    • 2018-02-26
    相关资源
    最近更新 更多