gpt4 book ai didi

php - 主义,删除集合?

转载 作者:可可西里 更新时间:2023-11-01 12:53:21 26 4
gpt4 key购买 nike

我需要使用 Symfony2 删除带有 Doctrine 的集合。

所以,我检索所有这样的对象:

$comments = $em->getRepository('ProjectApplicationBundle:Comment')->findBy(array('user_id' => $user_id));

因此,有了这个,我可以检索很多评论。

我怎样才能删除这些评论?一个简单的 $em->remove($comments) 不起作用。

需要循环注释并删除每个元素?直接写查询比较好?有什么更好的方法吗?谢谢

最佳答案

你需要把它们放在一个循环中并移除每一个

foreach ($comments as $cm) {
$em->remove($cm);
}
$em->flush();

以防万一将来如果你有一个字段的 OneToMany 关系并且你想删除所有相关的对象到这个或集合中的特定对象你可以尝试

//entity class
/**
* @ORM\OneToMany(targetEntity="Target_Entity_Class",mappedBy="mapped_property")
* @var ArrayCollection
*/
$objects;
//...
public function removeObject(\Name\Space\To\Target\Entity $target)
{
$this->objects->removeElement($target);
}

在你的 Controller 中你可以说

// assume $removed_objects_list is an array of related objects which you want to remove
$target_object = $em->getRepository('TargetEntity')->find($target_id);
foreach ($removed_objects_list as $object) {
$target_object->removeObject($object);
}
$em->flush();

关于php - 主义,删除集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22380933/

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