Здравствуйте.
Как в laravel можно занести значения в базу приходящие массивом на связи hasMany? Аналог attach на belongsToMany связи.
$person = Person::create($request->all());
$person->fields->createmany($request->fields); // выходит ошибка
$request->fields - это масстив. Все выглядит так
array(
'first_name' => 'Test'
'fields' => array(
0 => 'asdasd',
1 => 'asda312312sd',
2 => 'a123123sdasd',
)
)
Знаю про saveMany но он тоже выдает ошибки
Решил так
/**
* Attach related model
*
* @param array $aGroup
* @return AttributeGroup|array
*/
public function attachRelated(Array $aGroup)
{
$instances = [];
foreach($aGroup as $group)
{
$instances[] = new AttributeGroup(['name' => $group]);
}
return $instances;
}
И теперь делаем так
$person = Person::create($request->all());
if($request->fields) // если заполнены данные в поле fields[]
{
$person->fields()->saveMany($this->attachRelated($request->fields));
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости