超级简单的例子:
[Album] 1 --> 0..n [Song]
这意味着虽然[Album
]可以只有[Songs]
,但每个[Song]
都需要相关的[Album]
。
我使用嵌套资源,所以我的routing.yml看起来像这样:
albums:
type:rest
resource: ...
songs:
type: rest
parent: albums
resource: ...
Symfony 2.7 FOSRest 1.7
答案 0 :(得分:2)
尝试doctrine:generate:crud(更多细节http://symfony.com/doc/current/bundles/SensioGeneratorBundle/commands/generate_doctrine_crud.html)
此命令使用CRUD,表单和视图生成控制器。但是你可以自定义你想要的东西。
相关实体也看起来像数组。例如,您尝试输出歌曲,然后json将如下所示:
[{..., name: "Song1", album:{"id": 1, "name": "Album"}}]
顺便说一句,要使用querybuilder输出,你需要像下面这样的innerJoin关系:
$qb->select('s', 'album')
->innerJoin('s.album', 'album')
->getQuery()
->getArrayResult(); // or ->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);