Как правильно экспортировать многоуровневое дерево сущностей в JSON в Symfony? - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь экспортировать некоторые из моих данных Doctrine в формат JSON, но у меня возникают проблемы с фильтрацией.Предположим, что связаны следующие две сущности:

Категория

  • parent (self reference)
  • children (self reference)
  • элементы
  • показать

Элемент

  • категория
  • показать

Итак, у меня есть дерево категорий, состоящее из нескольких уровней, плюс каждая категория может содержать или не содержать некоторые элементы.И у категорий, и у элементов есть атрибут "show", который необходимо отфильтровать (поэтому show = false будет означать, что элемент не должен отображаться в экспорте).

Я использую SerializerInterface вместе с @Groups аннотация, но как мне правильно подойти к фильтрации?Должен ли я создавать настраиваемые геттеры для модели, которые возвращают отфильтрованные данные (например, геттер для категории с именами getVisibleItems и getVisibleChildren)?Должен ли я создать какой-то массив теней в контроллере и кодировать или сериализовать это?Есть ли другой подход?

...