Я застрял в обновлении модели с нетерпением, которая имеет отношение hasMany.Laravel Обновить Связанная модель с push?
У меня есть одна модель, как так:
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 в моей базе Repo будет работать. Я боролся с этим часами, думая, что есть какой-то метод толчка для решения этой задачи. – limit