使用Symfony2,JMSSerializerBundle,FOSUserBundle,Doctrine
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: trueUsername、Email和Roles都暴露得很好。PersonalDetails有自己的@Expose注释,当只序列化PersonalDetails结果时,它们都能很好地工作。我遗漏了什么?
如何使用此配置正确地公开PersonalDetails实体?
发布于 2015-09-12 22:14:47
奥普!感觉像个白痴。我告诉FOSUserBundle的User实体公开PersonalDetails,但我应该告诉AppBundle\Entity\User公开。
固定代码:
use JMS\Serializer\Annotation\Expose
/**
*@Expose()
*@ORM\OneToOne(targetEntity="PersonalDetails", mappedBy="user", cascade= {"persist","remove"}) */
protected $personalDetails;https://stackoverflow.com/questions/32543854
复制相似问题