获取Doctrine的findAll()以包含来自链接表

时间:2015-08-27 15:45:48

标签: php symfony doctrine-orm

背景

我有一个Discipline和一个Playlist类。

  • 一个学科可以有零到多个播放列表

  • 播放列表只能与一个学科相关联

在我的控制器中,我有

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

我的disciplineplaylist表非常简单,但随后有discipline_playlistid链接表,discipline_id (FK)playlist_id (FK)和{ {1}}。

问题

我想要的是Doctrine为我提供Discipline对象,以及播放列表对象的数组/集合。

这可以单独使用Doctrine来实现,还是需要单独获取播放列表,并在我的控制器(PHP)中将它们链接在一起?

1 个答案:

答案 0 :(得分:1)

所以,如果我理解你,纪律与播放列表之间存在 多对多关系 。然后Doctrine可以自动为您创建连接表。您不需要自己创建,也不需要主ID列。 (您永远不需要在连接表上使用id列。)

检查此example但是在@之后插入字母 ORM \ 来更改所有注释,以便它们以@ORM \开头。