Skip to content

Commit 0778c54

Browse files
committed
Use form fields for saving since some form fields implement saving
1 parent 7cdd144 commit 0778c54

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

src/ManyField.php

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -470,14 +470,29 @@ public function updateRelation(DataObjectInterface $record, $delete = true)
470470
}
471471

472472
if ($record) {
473-
$record->update($data);
473+
foreach ($this->manyChildren as $childField) {
474+
if (isset($data[$childField->Name])) {
475+
$childField->setValue($data[$childField->Name]);
476+
}
477+
478+
$childField->saveInto($record);
479+
}
480+
474481
$record->write();
475482
} else {
476-
$create = Injector::inst()->create($existing->dataClass());
477-
$create->update($data);
478-
$create->write();
483+
$record = Injector::inst()->create($existing->dataClass());
484+
485+
foreach ($this->manyChildren as $childField) {
486+
if (isset($data[$childField->Name])) {
487+
$childField->setValue($data[$childField->Name]);
488+
}
489+
490+
$childField->saveInto($record);
491+
}
492+
493+
$record->write();
479494

480-
$existing->add($create);
495+
$existing->add($record);
481496
}
482497
}
483498

0 commit comments

Comments
 (0)