根据与 Serializer 的关系序列化选定的属性
Posted
技术标签:
【中文标题】根据与 Serializer 的关系序列化选定的属性【英文标题】:Serialize selected properties on relationship with Serializer 【发布时间】:2022-01-18 03:55:46 【问题描述】:我有两个学说实体:
/**
* @ORM\Table()
*/
class User
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="string" ,nullable=false)
*/
private $name;
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="Post")
*/
private $posts;
/**
* @ORM\Table()
*/
class Post
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="string" ,nullable=false)
*/
private $content;
使用Serializer组件时,是否可以只为User的posts属性中的每个实体序列化id
属性?
例如:
"id": 79,
"name": "User 1",
"post": [
"id": 73,
],
【问题讨论】:
【参考方案1】:是的,您可以忽略序列化中的其他属性。
请参阅:Ignoring Attributes(序列化器组件文档)
Post:
attributes:
content:
ignore: true
我给你一个 YAML 例子,因为我不知道你用什么格式来定义序列化。
【讨论】:
以上是关于根据与 Serializer 的关系序列化选定的属性的主要内容,如果未能解决你的问题,请参考以下文章