我有两个实体想要使用JMSSerializerBundle进行序列化。 Music
实体有一个映射文件,其中 exclusion_policy: NONE
。
Music
实体具有来自 FOSUserBundle
的实体 User
的字段。 User
实体有一个映射文件,并且 exclusion_policy: ALL
,其中一些字段设置为 expose: true
,因此它们将被序列化。
问题是,User
字段完全序列化。无论我是否更改 User
实体的映射文件都没有用。
它看起来像这样:
#My/Bundle/Resources/config/serializer/Entity.Music.yml
xxx\xxx\Entity\Music:
exclusion_policy: NONE
#My/Bundle/Resources/config/serializer/Entity.User.yml
xxx\xxx\Entity\User:
exclusion_policy: ALL
properties:
id:
expose: true
username:
expose: true
username_canonical:
exclude: true
email:
exclude: true
email_canonical:
exclude: true
enabled:
exclude: true
salt:
exclude: true
password:
exclude: true
last_login:
exclude: true
confirmation_token:
exclude: true
password_requested_at:
exclude: true
groups:
exclude: true
locked:
exclude: true
expired:
exclude: true
expires_at:
exclude: true
roles:
expose: true
credentials_expired:
exclude: true
credentials_expired_at:
exclude: true
为什么它不引用自己的映射文件?或者我哪里错了吗?
到目前为止我尝试了什么
我已经阅读了第三方元数据文档。它只是说要在我的序列化程序服务中添加一个新目录。我已经做到了,但我必须扩展FOS\UserBundle\Entity
类,而这也无法访问我正在尝试排除的父受保护字段。