[EDITS]
- Based on goto answer, I edited the
ProjectListener.php
file.
[SETTINGS]
- Symfony 3.4
-
Projet
entity - Other child entities
- Related to a previous question
[PROBLEM]
Each time a Projet
entity is persisted, it should be followed by some child entites.
I currently have a ProjetListener
class which handle prePersist()
and preUpdate()
and postPersist()
events.
<kbd>AppBundle/Listener/ProjetListener.php</kbd>
class ProjetListener {
private $tokenStorage;
public function __construct(TokenStorage $tokenStorage) {
$this->tokenStorage=$tokenStorage;
}
public function prePersist(Projet $projet, LifecycleEventArgs $args) {
$projet->setUtilisateur($this->tokenStorage->getToken()->getUser())
->setCreation(new \DateTime())
->setModification(new \DateTime())
->setSupprime(false);
}
public function preUpdate(Projet $projet, PreUpdateEventArgs $args) {
$projet->setModification(new \DateTime());
}
public function postPersist(Projet $projet, LifecycleEventArgs $args) {
$tremie=new Tremie();
$tremie->setPosition(false)
->setForme(0)
->setTra(2000)
->setTr1(2000)
->setTr2(2000)
->setTre3(2000)
->setDecalTra(0)
->setDebordTr1(0)
->setDebordTr2(0)
->setReculMax(3500)
->setProjet($projet);
$em=$args->getEntityManager();
$em->persist($tremie);
}
}
As soon as my Projet
entity is persisted, I would like to persist one Tremie
entity, and set Projet
as it's parent.
As it's now, the postPersist()
event doesn't persist a Tremie
entity.
Symfony successfully create a Projet
entity, but doesn't create a Tremie
entity afterward.
There is no error returned.
What should be added/edited to persist Tremie
as soon as Projet
was persisted, and set Projet
as his parent?