Encore\Admin\Form::updateRelation PHP Method

updateRelation() protected method

Update relation data.
protected updateRelation ( array $relations ) : void
$relations array
return void
    protected function updateRelation($relations)
    {
        foreach ($relations as $name => $values) {
            if (!method_exists($this->model, $name)) {
                continue;
            }
            $prepared = $this->prepareUpdate([$name => $values]);
            if (empty($prepared)) {
                continue;
            }
            $relation = $this->model->{$name}();
            switch (get_class($relation)) {
                case \Illuminate\Database\Eloquent\Relations\BelongsToMany::class:
                    $relation->sync($prepared[$name]);
                    break;
                case \Illuminate\Database\Eloquent\Relations\HasOne::class:
                    foreach ($prepared[$name] as $column => $value) {
                        $this->model->{$name}->setAttribute($column, $value);
                    }
                    $this->model->{$name}->save();
                    break;
            }
        }
    }