[编辑]
{
"users": [
{
"localId": "11",
"passwordHash": "",
"email": "test@icloud.com",
"createdAt": "1515666546293",
"displayName": "test name"
}
]
}
文件。[设置]
ProjectListener.php
实体[问题]
每次Projet
实体持续存在时,都应该有一些儿童参与者。
我目前有一个Projet
类来处理ProjetListener
和prePersist()
以及preUpdate()
个事件。
的的appbundle /监听器/ ProjetListener.php
postPersist()
只要我的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);
}
}
实体被保留,我就会保留一个Projet
实体,并将Tremie
设置为父级。
就像现在一样,Projet
事件不会持久存在postPersist()
实体。
Symfony成功创建了Tremie
实体,但之后没有创建Projet
实体。
没有返回错误。
在Tremie
被保留后,应该添加/修改哪些内容Tremie
,并将Projet
设置为其父级?
答案 0 :(得分:1)
您可以使用
访问实体管理器public function prePersist(Projet $projet, LifecycleEventArgs $args) {
$projet->setUtilisateur($this->tokenStorage->getToken()->getUser())
->setCreation(new \DateTime())
->setModification(new \DateTime())
->setSupprime(false);
$tremie->setPosition(false)
->setForme(0)
->setTra(2000)
->setTr1(2000)
->setTr2(2000)
->setTre3(2000)
->setDecalTra(0)
->setDebordTr1(0)
->setDebordTr2(0)
->setReculMax(3500)
->setProjet($project);
$args->getEntityManager()->persist($tremie);
}
你可能会这样做:(我从未尝试过)
a = [[1,2],[1,2,3],[1,2,3,4]]