2
我被困在更新具有「hasMany」關係的eagerloaded模型。Laravel更新相關模型與推?
我有一個模型,如下所示:
class UserGroup extends Model
{
public function enhancements()
{
return $this->hasMany('App\UserGroupEnhancement');
}
}
我控制器傳遞$ userGroup表示的觀點,像這樣:
$userGroup = $this->userGroup->with('enhancements')->whereId($id)->first();
,然後在我看來,我有
@foreach($userGroup->enhancements as $enhancement)
<label>{{$enhancement->type}}</label>
<input class="form-control" name="enhancements[{{$enhancement->id}}][price]" value="{{$enhancement->price}}">
@endforeach
更新時,如何更新增強關係中的所有記錄?它被傳回到多個數組中。我目前正在做這樣的事情。
public function update($id)
{
$userGroup = $this->userGroup->findOrFail($id);
$enhancement = \Input::get('enhancements');
if (is_array($enhancement)) {
foreach ($enhancement as $enhancements_id => $enhancements_price) {
$userGroup->enhancements()->whereId($enhancements_id)->update($enhancements_price);
}
}
}
有沒有一種方法可以做到這一點,而無需foreach循環?我看到了push()方法,但似乎只適用於單個數組。
感謝。在我的基地回購中使用updateMany方法將工作。我幾個小時以來一直在努力,認爲有一些推動方法可以完成這項任務。 – limit