Используется:
Symfony 4.1, FOSRestBundle, JMSSerializerBundle
Имеется сущность
Article, которая имеет двустороннюю
one-to-many связь с
ArticleImage.
class Article
{
private $id;
...
/**
* @ORM\OneToMany(targetEntity="ArticleImage", mappedBy="article")
*/
private $images;
...
}
class ArticleImage
{
private $id;
private $file;
...
/**
* @ORM\ManyToOne(targetEntity="Article", inversedBy="images")
*/
private $article;
private $isPreview;
...
}
Имеется два контекста сериализации:
list и
detail. Как можно настроить, чтобы в контексте
list в результат попадала только одна сущность
ArticleImage, у которой
$isPreview имеет значение
true, а не вся коллекция?
Есть мысль повесить EventListener и перед сериализацией в зависимости от контекста руками удалять все лишние
ArticleImage из коллекции, но что-то мне этот вариант кажется не самым оптимальным.