【发布时间】:2015-12-09 05:14:23
【问题描述】:
[使用 Symfony2、JMSSerializerBundle、FOSUserBundle、Doctrine ORM]
User 实体与PersonalDetails 实体相关联。
使用 JMSSerializer 我无法在序列化 User 时暴露 PersonalDetails。
User实体
/* AppBundle\Entity\User.php
/** @ORM\OneToOne(targetEntity="PersonalDetails", mappedBy="user", cascade={"persist","remove"}) */
protected $personalDetails;
序列化器配置
# app/serializer/FOSUserBundle/Model.User.yml
FOS\UserBundle\Model\User:
exclusion_policy: ALL
properties:
username:
expose: true
email:
expose: true
roles:
expose: true
personalDetails:
expose: true
Username、Email 和 Roles 都暴露得很好。 PersonalDetails 有它自己的 @Expose 注释,当仅序列化 PersonalDetails 结果时,它们都可以正常工作。我错过了什么?
如何使用此配置正确公开PersonalDetails 实体?
【问题讨论】:
标签: symfony fosuserbundle jmsserializerbundle