@JMS\ Исключать, только если свойство пустое

Я использую JMS\Serializer в своем проекте, и я хочу игнорировать одно свойство, только если массив в нем пуст.

Я попробовал что-то вроде:

@JMS\Exclude(if="count('$this->required') === 0")
or 
@JMS\Exclude(if="empty('required')")

но получил синтаксическую ошибку.

Может ли кто-нибудь помочь мне в этом?

поблагодарить.

1 ответ

Решение

То, что вам нужно, было реализовано недавно и находится в выпуске 1.7, так что вы могли бы также подождать этого. Это называется @SkipWhenEmpty

@SkipWhenEmpty Эта аннотация может быть определена для свойства, чтобы указать, что свойство не должно быть сериализовано, если результат будет "пустым".

Это ошибка, связанная с этим.

Вам понадобится это:

@JMS\Exclude(if="!object.required")
Другие вопросы по тегам