2017-10-03 2 views
0

Ich muss Entity mit manyToMany Beziehung, die ich in zwei OneToMany transformieren. Also habe ich eine andere Entity namens CollanaCollezionista in das ich ein Attribut habe. Ich möchte, dass das Paar collana/collezionista einzigartig ist, wie kann ich das auf Doktrin und symfony tun?Symfony Doktrin viele zu vielen einzigartigen

/** 
* 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; 
} 

So habe ich eine andere Entität, genannt CollezionistaCollana. Wie kann ich festlegen, dass das Paar collezionista-collana einzigartig ist?

+1

Sehen Sie, wenn [@UniqueEntity] (https://symfony.com/doc/current/reference/constraints/UniqueEntity.html) oder [@UniqueConstraint] (http://doctrine-orm.readthedocs.io /projects/doctrine-orm/en/latest/reference/annotations-reference.html#annref-uniqueconstraint) Mach das Zeug – BwaBwa

+0

, das so funktioniert verwende Doctrine \ ORM \ Mapping \ UniqueConstraint als UniqueConstraint; /** * CollezionistaCollana * * @ORM \ Table (name = "collezionista_collana", uniqueConstraints = {@ UniqueConstraint (name = "unique_hold", Spalten = { "idCollezionista", "idCollana"})}) * @ORM \ Entität */ Klasse CollezionistaCollana { – NicolaPez

Antwort

2

Antwort:

@UniqueConstraint das Zeug tun.

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 
}