【发布时间】:2016-05-12 19:23:20
【问题描述】:
我有一个简单的问题,但我不知道如何解决它。
我在 Symfony2 中有一个带有 FOSRestBundle + JMSSerializerBundle 的项目。 在我的实体中,我有一些日期时间字段,用户应该能够定义 API 检索的日期时间的格式,如您所见:
我的问题是我不知道如何告诉 JMSSerializerBundle 为我的日期时间字段使用用户定义的格式。 目前我有这个:
/**
* @var \DateTime
*
* @ORM\Column(name="custom_date", type="datetime")
* @Serializer\Type("DateTime<Y-m-d>")
* @Serializer\Expose
*/
protected $custom_date;
我发现的唯一方法是使用 JMSSerializerBundle 中的 VirtualProperty 方法,但这意味着我的实体必须与用户有关系。 类似的东西:
/**
* @Serializer\VirtualProperty
* @Serializer\Type("string")
* @Serializer\SerializedName("custom_date")
*/
public function getVPCustomDate() {
$format = $this->user->getSetting('date_format');
return $this->custom_date->format($format);
}
但是那样做是没有意义的,所以我希望你有一些选择!
感谢您的宝贵时间和帮助。
【问题讨论】:
标签: symfony jmsserializerbundle