@JMS\Exclude 仅当 属性 为空时

@JMS\Exclude only if a property is empty

我在我的项目中使用 JMS\Serializer,我想忽略一个 属性 只有当其中的数组为空时。

我试过类似的东西:

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

但是出现语法错误。

谁能帮我解决这个问题?

谢谢。

你需要的是最近实现的,它在 release-1.7 中所以你不妨等待 it. It is called @SkipWhenEmpty

@SkipWhenEmpty This annotation can be defined on a property to indicate that the property should not be serialized if the result will be "empty".

这是bug相关的

你需要这个:

@JMS\Exclude(if="!object.required")