protected function updateOrCreateHasOne(array $fillable, Model $model, Relation $relation)
    {
        $id = '';

        if (array_key_exists('id', $fillable)) {
            $id = $fillable['id'];
        }

        if (array_except($fillable, ['id'])) {
            if (property_exists($this, 'pruneHasOne') && $this->pruneHasOne !== false) {
                $relation->update($fillable);
            }

            return $relation->updateOrCreate(['id' => $id], $fillable);
        }

        return null;
    }