NicolaPez
NicolaPez

Reputation: 587

Symfony doctrine many to many unique

I have to entity with manyToMany relation, that i have transform in two OneToMany. So I have create an other Entity called CollanaCollezionista into that i have some attribute. I want that the couple collana/collezionista is unique, how can i do this on doctrine and 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;
}

So I have an other entity, called CollezionistaCollana. How can i set that the couple collezionista-collana is unique?

Upvotes: 0

Views: 1344

Answers (1)

Brah0um
Brah0um

Reputation: 345

Answer:

@UniqueConstraint do the stuff.

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
}

Upvotes: 3

Related Questions