Laravel - HasMany CRUD - 更新

时间:2016-10-10 08:38:33

标签: laravel eloquent laravel-5.2

我需要一些帮助,

我有两张表:运营商销售

Image of Yaktocat http://i67.tinypic.com/2uj6znn.png Image of Yaktocat http://i67.tinypic.com/er0c90.png

Carrier CRUD正在运行。除了更新方法之外,销售CRUD也有效。

为了更新,我需要 carrierId 卖出ID ,对吧?

这是我的CarrierSellController:

Image of Yaktocat http://i63.tinypic.com/2z40pjs.png

这是我的 carrier / sell / edit.blade.php

Image of Yaktocat http://i65.tinypic.com/2j2i8fs.png

模型绑定正在起作用:

Image of Yaktocat http://i65.tinypic.com/16lb1l.png

表单操作在网址末尾有 / edit 。它是oke?

Image of Yaktocat http://i63.tinypic.com/25zmmas.png

如果我点击提交按钮,我会收到此错误:

Image of Yaktocat http://i65.tinypic.com/b3os2q.png

3 个答案:

答案 0 :(得分:0)

确保方法为PUT

将此添加到您的表单

{{ method_field('put') }}

答案 1 :(得分:0)

试试这个

{!! Form::model($sell,['url'=>url('carriers/'.$sell->carrier->id.'/sell/'.$sell->id),'method'=>'patch']) !!}

并在Sell模型中添加

public function carrier()
{
    return $this->belongsTo(Carrier::class);
}

答案 2 :(得分:0)

如果你想完全确定尝试自己宣布这条路线,为什么不要这样做:

Route::put('carriers/{carrierId}/sell/{id}', [ 'as' => 'carriers.sell.update', 'uses' => 'CarrierSellController@update' ]);

然后在你看来有这个:

{!! Form::model($sell, ['method' => 'PUT', 'route' => ['carriers.sell.update', 'carrierId' => $sell->carrier->id, 'id' => $sell->id]) !!}