-
-
Notifications
You must be signed in to change notification settings - Fork 208
Open
Description
Zdravíčko.
Používám freezy-bee/doctrine-form-mapper pro vytvoření doctrine entity z dat z formuláře. Příklad použití v presenteru
formSuccess(Form $form) : void
{
$nameEntity = $this->em->getRepository(NameEntity::class)->find($id);
$nameEntity = $this->doctrineFormMapper->save($nameEntity, $form);
$this->em->persist($nameEntity);
$this->em->flush();
}
Využívám tedy toho, že ve formuláři je event onSuccess
, do které se posílá instance formuláře, ze které se pak sestaví doctrine entita. Bohužel pro tyto účely datagrid v případě velké editace posílá id a data a případě velkého přidávání posílá jen data. Tím zmíněnou knihovnu nedokážu použít a musím entitu sestavovat ručně. Příklad
$this->dataGrid->getInlineAdd()->onSubmit[] = function (ArrayHash $values) : void {
$genusEntity = $this->em->getRepository(GenusEntity::class)->find($values->genus);
$personEntity = $this->em->getRepository(PersonEntity::class)->find($values->person);
$nameEntity = new NameEntity();
$nameEntity->name = $values->nameName;
$nameEntity->surname = $values->nameSurname;
$nameEntity->genus = $genusEntity;
$nameEntity->untilNow = $values->untilNow;
$nameEntity->dateSince = $values->dateSince;
$nameEntity->dateTo = $values->dateTo;
$nameEntity->person = $personEntity;
$this->em->persist($nameEntity);
$this->em->flush();
};
Šlo by přidat klidně jinou událost (ať nevznikne BC break), do které se pošle Formulář/Container? Klidně s tim nějak pomůžu
Metadata
Metadata
Assignees
Labels
No labels