Copii repetați în colecția părintească

Ei bine, am acest design pe doctrina mea 2:

Disc

id, nume

Liric

id, nume, artist

listă (tabelul de asociere pentru mulți-la-mulți)

id, Disc, versuri

So, when I call $Disc->getLirics() it returns the current Lirics on Disc buuut it does not allow to have the same Liric more than once. How can I deal with that?

modificați:

la "tabelul de liste" pot vedea textul stocat de mai multe ori pentru același Disc

Acestea sunt entitățile mele

Disc

/**
 * @Entity
 * @Table(name="Disc")
 */
class Disc
{

/**
 * @Id @Column(type="integer", nullable=false, name="id_Disc")
 * @GeneratedValue(strategy="AUTO")
 */
protected $id;

/**
 * @Column(type="string", nullable=false, name="name")
 */
protected $name;


/**
 * @ManyToMany(targetEntity="Liric")
 * @JoinTable(name="playlist", 
 *      joinColumns={@JoinColumn(name="Disc", referencedColumnName="id_Disc")},
 *      inverseJoinColumns={@JoinColumn(name="Liric", referencedColumnName="id_Liric")}
 *      )
 */ 
protected $Lirics;

public function __construct(){
    $this->Lirics = new ArrayCollection();
}

Liric

/**
 * @Entity
 * @Table(name="Liric")
 */
class Liric
{

/**
 * @Id @Column(type="integer", nullable=false, name="id_Liric")
 * @GeneratedValue(strategy="AUTO")
 */
protected $id;

/**
 * @Column(type="string", nullable=false, name="name")
 */
protected $name;

    /**
 * @Column(type="string", nullable=false, name="artist")
 */
protected $artist;

Playlist (tabel comun multi-la-multe), aceasta este structura de tabel:

id_playlist | Disc | Liric  
1           | 1    | 1  
2           | 1    | 1  
3           | 1    | 1   

The Disc 1 have the Liric 1 three times.

0
Uită-te la schimbări. Eu folosesc Doctrina 2
adăugat autor manix, sursa
Cred că vorbești despre doctrina 1, ai putea să îți lipi schema.yml?
adăugat autor j0k, sursa