JMSSerializerBundle - 仅序列化学说关系中的 ID
JMSSerializerBundle - only serialize ID in doctrine relation
例如,假设我有两个实体,Article
和 Comment
,评论通过单向 manyToOne 关系映射到文章。我想知道的是,如果可以序列化关系,但是在mappedOne中,只序列化ID。
例如,如果我序列化一篇 文章,我将得到它的完整 json 表示(包括 id、标题、内容...)。
{"title":"article title", "content":"article content", "id":"7"}
但是如果我序列化一个 评论,我希望它有一个完整的 json 自身的表示,但是在 文章 字段,我只想要文章id。
{"id":"2", "author":"foo","content":"comment content","linked_article":{"id":"7"}}
非常感谢!
在控制器操作 (getCommentAction) 中,注释中是否有序列化程序组?
我认为通过将此注释放在控制器操作上
@Rest\View(serializerGroups={"id","comment"}
并在您的 Article 实体中放置
/**
* @JMS\Serializer\Annotation\Groups({"id", "article"})
*/
protected $id;
应该可以。
例如,假设我有两个实体,Article
和 Comment
,评论通过单向 manyToOne 关系映射到文章。我想知道的是,如果可以序列化关系,但是在mappedOne中,只序列化ID。
例如,如果我序列化一篇 文章,我将得到它的完整 json 表示(包括 id、标题、内容...)。
{"title":"article title", "content":"article content", "id":"7"}
但是如果我序列化一个 评论,我希望它有一个完整的 json 自身的表示,但是在 文章 字段,我只想要文章id。
{"id":"2", "author":"foo","content":"comment content","linked_article":{"id":"7"}}
非常感谢!
在控制器操作 (getCommentAction) 中,注释中是否有序列化程序组?
我认为通过将此注释放在控制器操作上
@Rest\View(serializerGroups={"id","comment"}
并在您的 Article 实体中放置
/**
* @JMS\Serializer\Annotation\Groups({"id", "article"})
*/
protected $id;
应该可以。