2015-09-12 98 views
0

[使用Symfony2中,JMSSerializerBundle,FOSUserBundle,學說ORM]曝光使用JMSSerializerBundle和FOSUserBundle

User實體與所述實體PersonalDetails相關聯的實體。 使用JMSSerializer我不能讓PersonalDetails暴露序列化User時。

User實體

/* AppBundle\Entity\User.php 

    /** @ORM\OneToOne(targetEntity="PersonalDetails", mappedBy="user", cascade={"persist","remove"}) */ 
    protected $personalDetails; 

串行conifg

# 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 

UsernameEmailRoles所有暴露就好了。 PersonalDetails有它自己的@Expose註解,所有序列化只是PersonalDetails結果時正常工作。我錯過了什麼?

我怎樣才能正確曝光PersonalDetails實體與此配置?

回答

0

蛇夫座!感覺像個白癡。我告訴FOSUserBundleUser實體暴露PersonalDetails,但我要告訴AppBundle\Entity\User暴露。

固定的代碼:

use JMS\Serializer\Annotation\Expose 

    /** 
     *@Expose() 
     *@ORM\OneToOne(targetEntity="PersonalDetails", mappedBy="user", cascade= {"persist","remove"}) */ 
    protected $personalDetails;