Symfony主义多对多独特

时间:2017-10-03 13:17:13

标签: php symfony doctrine-orm doctrine

我必须使用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 个答案:

答案 0 :(得分: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
}