오늘 당신의 도움이 필요합니다.symfony2는 많은 관계를 삭제하고 저장합니다
class Usuario implements UserInterface {
/**
* @ORM\ManyToMany(targetEntity="Alood\BackBundle\Entity\Alergeno", inversedBy="usuarios")
* @ORM\JoinTable(name="UsuariosProductos",
* joinColumns={@ORM\JoinColumn(name="usuario_user", referencedColumnName="user")},
* inverseJoinColumns={@ORM\JoinColumn(name="alergeno_id", referencedColumnName="id")}
* )
**/
protected $alergenos;
}
public function __construct(){
$this->alergenos = new ArrayCollection();
}
public function getAlergenos() { return $this->alergenos; }
과 :
/**
* @ORM\ManyToMany(targetEntity="Alood\BackBundle\Entity\Usuario", mappedBy="alergenos")
**/
protected $usuarios;
내가 심포니 2.1을 사용하여 작은 응용 프로그램에서 일하고 있어요하지만 기본 문제가, 나는 세 번째 테이블을 생성하는 많은 관계로 많은으로 테이블이 그런 다음 선택되지 않은 Alergenos을 제거해야합니다. 내 컨트롤러입니다.
$alergenosUser = $em->getRepository("BackBundle:Usuario")->find($usuario);
$resultSym = array_diff($alergenosUsuarioIds, $alergen);
foreach($resultSym as $result) {
$alergenosUser->getAlergenos()->remove($result);
}
$em->persist($alergenosUser);
$em->flush();
내가 잘못하고있는 것을 알아내는 데 도와 주시겠습니까? 정말 감사합니다! 사용 컬렉션에서 항목을 제거하기 위해
코드에 어떤 문제가 있습니까? ... 당신은 이미이 경우에 필요하지 않은 교리에 의해 이미 관리되고있는 객체를 계속 유지하고 있습니까? :) – nifr
내가 사용자 1과 알레르기 항원 1을 가지고 있다고 말한 다음 사용자 1에게 알레르기가 있다고 말하면 그럴 수 있지만 그 연결 (사용자 1은 더 이상 알레르기 항원 1에 알레르기가 없음)을 삭제하려고 할 때 그 관계를 삭제할 수 없습니다. – soni