2013-05-27 10 views
0

의 모든 데이터가 나는 User 엔티티와 관련된 엔티티 CreditCard이 : 나는 CreditCard 개체를 직렬화 할 때은 관련 사용자 개체

/** 
* CreditCard 
* 
* @ORM\Table(name="credit_card") 
* @ORM\Entity 
*/ 
class CreditCard 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="value", type="string") 
    */ 
    protected $value; 

    /** 
    * @var User 
    * 
    * @ORM\OneToOne(targetEntity="User", mappedBy="creditCard") 
    */ 
    protected $user; 

} 

를, 또한 암호와 같은 사용자 데이터 user 필드를 직렬화, 등

{{ creditCard|serialize }} 

을 제공합니다

{"id":70,"value":"1721742","user":{"id":1,"username":"1721742","email":"[email protected]","enabled":true,"salt":"xxx","password":"yyy","last_login":"2013-05-27T09:18:30+0200","locked":false, ..... } } 

어떻게하면 직렬화 만 허용되지 않도록 할 수 있습니까 id, usernameUser 엔티티입니까?

+0

확실하지하려면, 자동으로 호출됩니다 자신의 직렬화()와 때 unserialize() 메서드를 작성,하지만 당신은 시도 않았다 setIgnoredAttributes를 - 노멀 라이저 (http://api.symfony.com/master/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.html)와 함께 제공됩니다. –

답변

0

serializable 인터페이스를 구현하고 serialize() 메서드에서 사용자 인터페이스를 설정 해제하십시오. 이 인터페이스와

당신은 당신은 아무것도를 구현할 수 있도록 내가 제대로 질문을받을 경우

+0

'CreditCard'를 직렬화하면 'id, username, email' 만 리턴하는 동작을이 인터페이스로 구현할 수 있습니까?하지만 직접'User' 엔티티를 직렬화하면 전체 데이터 세트가 반환됩니까? – hsz