Много-много картографических проблем - PullRequest
0 голосов
/ 23 марта 2011

В настоящее время я пытаюсь отобразить связанные с музыкой данные с помощью аннотаций POPO Doctrine2.

У меня не было проблем с отображением любых других отношений «многие ко многим», но одно конкретное отношение доставляет мне проблемы.Не выдает ошибку, но сопоставление не вставляется в таблицу сопоставления (artist_album)

Artist :

<?php
/**
 * @orm:Entity
 * @orm:Table(name="artist")
 */
class Artist
{

    ...

     /**
     * @orm:ManyToMany(targetEntity="Company\MusicBundle\Entity\Album", inversedBy="artists", cascade={"persist"})
     * @orm:JoinTable(name="artist_album",
     *      joinColumns={@orm:JoinColumn(name="artist_id", referencedColumnName="id")},
     *      inverseJoinColumns={@orm:JoinColumn(name="album_id", referencedColumnName="id")})
     *      
     * @var ArrayCollection
     */
    private $albums;

    ...

}

Альбом

    ....

    /**
     * @orm:ManyToMany(targetEntity="Company\MusicBundle\Entity\Artist", mappedBy="albums", cascade={"persist"})
     * 
     * @var ArrayCollection
     */
    private $artists;

    ...

}

Я уверен, что это только что-то, что я сделал неправильно в отображении, но я просто не могу положить на это свой пресловутый палец.

1 Ответ

0 голосов
/ 25 марта 2011

Моя проблема заключалась в том, что я устанавливал художника на обратную сторону отношений.Похоже, вы должны установить отношения на стороне владельца (в данном случае Artist).

...