我有2个与ManyToMany相关的实体:Routage和Contact。
实体行程:
/**
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Bdd\Contact", inversedBy="routages", cascade={"persist"})
* @ORM\JoinTable(name="routages_contacts")
*/
private $contacts;
实体联系:
/**
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Routage\Routage", mappedBy="contacts")
*/
private $routages;
但是当我在他的Collection中为一个Routage添加一些Contact时,它会创建X个查询。 但我想限制查询次数。
这是我的控制器部分:
foreach($Abonnes as $Contact){
$Routage->addContact($Contact);
$this->getDoctrine()->getManager()->persist($Routage);
}
$this->getDoctrine()->getManager()->flush();
答案 0 :(得分:0)
行
$this->getDoctrine()->getManager()->persist($Routage);
应该不在foreach循环中,因此您的代码应该如下所示:
foreach($Abonnes as $Contact){
$Routage->addContact($Contact);
}
$this->getDoctrine()->getManager()->persist($Routage);
$this->getDoctrine()->getManager()->flush();