2017-10-03 6 views
0

manyToMany 관계가있는 엔티티에 두 개의 OneToMany로 변환해야합니다. 그래서 CollanaCollezionista라는 다른 엔티티를 만들었습니다. 그 중 일부 속성이 있습니다. 나는 collana/collezionista 커플이 독특하기를 원한다. 나는 교리와 심포니에서 이것을 어떻게 할 수 있을까?Symfony 교리가 많은 것부터 많은 것까지

/** 
* Collana 
*/ 
class Collana 
{ 

private $id; 

private $titolo; 

/** 
* @MaxDepth(1) 
* @ORM\OneToMany(targetEntity="CollezionistaCollana", mappedBy="collana") 
*/ 
private $collezionisti; 
} 

/** 
* Collezionista 
*/ 
class Collezionista 
{ 

private $id; 

private $user; 

/** 
* @ORM\OneToMany(targetEntity="CollezionistaCollana", mappedBy="collezionista") 
*/ 
private $collane; 
} 

저는 CollezionistaCollana라는 다른 엔티티가 있습니다. 내가 어떻게 그 collezionista-collana가 유일하다는 것을 설정할 수 있습니까?

+1

볼 [@UniqueEntity (https://symfony.com/doc/current/reference/constraints/UniqueEntity.html) 또는 [@UniqueConstraint (http://doctrine-orm.readthedocs.io 경우 /projects/doctrine-orm/en/latest/reference/annotations-reference.html#annref-uniqueconstraint) Doctrine \ ORM \ Mapping \ UniqueConstraint를 UniqueConstraint로 사용하십시오.이 작업은 – BwaBwa

+0

처럼 작동합니다. /** * CollezionistaCollana * * @ORM의 \ 테이블 (= "collezionista_collana '이름 uniqueConstraints = {@ UniqueConstraint (NAME ="unique_hold "열 = {"는 idCollezionista ","idCollana "})}) * @ORM \ Entity */ class CollezionistaCollana { – NicolaPez

답변

2

답변 :

@UniqueConstraint는 물건을한다.

use Doctrine\ORM\Mapping\UniqueConstraint as UniqueConstraint; 

/** 
* CollezionistaCollana 
* 
* @ORM\Table(name="collezionista_collana",uniqueConstraints={@‌UniqueConstraint(nam‌​e="unique_hold", columns={"idCollezionista", "idCollana"})}) 
* @ORM\Entity 
*/ 
class CollezionistaCollana 
{ 
    // Class details 
}