Encore\Admin\Form::saveRelation PHP Méthode

saveRelation() protected méthode

Save relations data.
protected saveRelation ( array $relations ) : void
$relations array
Résultat void
    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;
            }
        }
    }