У меня есть массив так же, как это:Перебор массива
У меня есть вопрос, как я могу Foreach через объекты. Я хочу связать каждую из них с контейнером.
Так что я попытался это:
foreach ($data['plates'] as $index => $element) {
//Don't worry about the container_id.
$plates = Plate::find($element['plate_id'])->plateContainer()->associate($data['container_id'])->save();
}
Но не могу показаться, чтобы получить эту работу. Любые идеи, что я делаю неправильно или не хватает?
FYI-Отношения между моделями
Тарелка Модель
public function plateContainer()
{
return $this->belongsTo('App\Models\PlateContainer');
}
PlateContainer Модель
public function plates()
{
return $this->hasMany('App\Models\Plate');
}
Update # 1: Массив исходит из AngularJS после подача сима плечо форма. Извините, забыл упомянуть об этом.
Обновление № 2: Хорошо. Я попробовал следующее.
foreach ($data['plates'] as $element)
{
foreach ($element as $value)
{
$plates = Plate::find($value)->plateContainer()->associate($data['container_id'])->save();
}
}
... но все еще не получается его работать. Проверяя БД, он показывает только, что первая пластина была обновлена с данным контейнером.
Я попытался dd($value);
Это показывает только 1
ли это массив JS или массив PHP? – Pete
Почему здесь отмечен javascript? – callback
@callback Извините. Я забыл упомянуть. Массив, исходящий от AngularJS. Я обновлю сообщение – user3641381