2015-08-27 19 views
0

背景獲取主義的的findAll(),以包括鏈接表

assosiations我有一個DisciplinePlaylist類。

  • 一門學科可以有0到多個播放列表

  • 播放列表只能與一個學科

相關聯。在我的控制,我有

$repository = $this->getDoctrine() 
    ->getRepository('NodeBundle:Discipline'); 
$disciplines = $repository->findAll(); 

disciplineplaylist表很簡單病房,但有一個discipline_playlist鏈接表,id,discipline_id (FK)playlist_id (FK)

問題

我想是教義給我學科的對象,完全與播放列表對象的數組/集合。

這可以單獨使用Doctrine來實現,還是需要單獨獲取播放列表,並將它們鏈接到我的控制器(PHP)中?

回答

1

所以,如果我明白你有一個多對多的關係紀律和播放列表之間。然後Doctrine可以自動爲你製作連接表。您不需要自己製作,也不需要主ID列。 (你永遠不需要連接表上的id列)。

請檢查此example,但在@之後插入字母ORM \以更改所有註釋,以便它們將以@ORM \開頭。

+0

我試過這樣做,但是當我獲取紀律時,$ playlists變量是一個空數組,即使我在鏈接表中有相關​​的條目。 – Alec

+0

事實上,事實證明,它在那裏,但懶加載(我認爲),所以我無法看到它。 – Alec

+0

是的學說數組集合被延遲加載。 –