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