JMSerializer исключает сущность по состоянию имущества
У меня есть приложение Symfony с установленным JMSSerializerBundle.
Моя сущность выглядит так:
class MyEntity {
/**
* Attribute[]
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Attribute", mappedBy="myEntity")
* @JMS\Groups({"attributeSet_detail"})
* @ORM\OrderBy({"position" = "ASC"})
*/
protected $attributes;
}
AppBundle\Entity\Attribute
Сущность имеет логическое свойство isActive
Теперь я хочу сериализовать MyEntity
(включая все attributes
) НО только те которые собственность isActive
установлен в true
1 ответ
Вы можете использовать стратегию динамического исключения JMS Serializer.
<?php
class MyObject
{
/**
* @Exclude(if="true")
*/
private $name;
/**
* @Expose(if="true")
*/
private $name2;
}
Посмотрите документацию здесь: https://jmsyst.com/libs/serializer/master/cookbook/exclusion_strategies