У меня есть объект CreditCard
, который связан с User
объекта:Как предотвратить сериализации всех данных соответствующего объекта пользователя
/**
* 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;
}
Когда я сериализацией CreditCard
сущности, он также упорядочивает 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
, username
от User
?
Не уверен, что если я получаю ваш вопрос правильно, но вы попробуйте: setIgnoredAttributes - поставляется с нормализатором (http://api.symfony.com/master/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.html). –