protected function saveRelation($relations)
{
foreach ($relations as $name => $values) {
if (!method_exists($this->model, $name)) {
continue;
}
$values = $this->prepareInsert([$name => $values]);
$relation = $this->model->{$name}();
switch (get_class($relation)) {
case \Illuminate\Database\Eloquent\Relations\BelongsToMany::class:
$relation->attach($values[$name]);
break;
case \Illuminate\Database\Eloquent\Relations\HasOne::class:
$related = $relation->getRelated();
foreach ($values[$name] as $column => $value) {
$related->setAttribute($column, $value);
}
$relation->save($related);
break;
}
}
}