gpt4 book ai didi

php - Symfony2 表单集合 : How to remove entity from a collection?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:29 25 4
gpt4 key购买 nike

我尝试从集合中删除实体,但它不起作用。

我想我在某处有错误,但我不知道在哪里。

这是我的 updateAction 中的代码:

    $em = $this->getDoctrine()->getEntityManager();

$entity = new Person();

if (!$entity) {
throw $this->createNotFoundException('Unable to find Person entity.');
}

$editForm = $this->createForm(new PersonType(), $entity);
$deleteForm = $this->createDeleteForm($id);

$request = $this->getRequest();

$editForm->bindRequest($request);

if ($editForm->isValid()) {
$entity = $editForm->getData();

$em->persist($entity);
foreach($entity->getAddresses() as $address)
{
$em->persist($address);
}
$em->flush();

return $this->redirect($this->generateUrl('person_show', array('id' => $id)));
}

return $this->render('AppPersonBundle:Person:edit.html.twig', array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),

);

请注意,要删除我的实体,我会从 html 中删除 div。

我的意思是我删除了 <div id="myapp_personbundle_persontype_address_4">例如。

这是正确的方法吗?

最佳答案

感谢this answer ,我找到了更好的解决方案。您可以使用 Doctrine's orphan removal特点:

class Gallery
{
//...

/**
* @ORM\OneToMany(targetEntity="Photo", mappedBy="gallery", cascade={"persist", "remove"}, orphanRemoval=true)
*/
private $photos;

//...

public function removePhotos($photo)
{
$this->photos->remove($photo);
$photo->setGallery(null);
}
}

关于php - Symfony2 表单集合 : How to remove entity from a collection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8923919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com