gpt4 book ai didi

json - Symfony2 反序列化以使用序列化器使用 DateTime 创建 Doctrine 实体

转载 作者:行者123 更新时间:2023-12-02 04:50:17 25 4
gpt4 key购买 nike

我有一个包含 DateTime 字段的 Doctrine 实体。当我序列化要由表单使用的对象时,我使用此回调函数(取自 symfony documentation)转换日期时间对象:

$callback = function ($dateTime) {
return $dateTime instanceof \DateTime
? $dateTime->format(\DateTime::ISO8601)
: '';

此函数附加到规范化器。

使用 dd/MM/yyyy 图片将日期进一步转换为字符串,并作为字符串放置到表单中(我使用的是 JavaScript 日期选择器)。

使用 ajax 将表单发布到 Controller ,该 Controller 将实体作为 PHP 数组获取。

现在我需要将数组(包含日期作为字符串)转换回我的 Doctrine 实体。

有没有办法将数组反序列化为实体?我尝试 deserialize(json_encode($array)) 但我在 DateTime 转换时出错。

有什么提示吗?

最佳答案

我认为最推荐的方法是使用 Symfony2 DateTime FormType

可能看起来像这样:

        $builder->add(
'date',
'datetime',
array(
'widget' => 'single_text',
'format' => 'dd/MM/yyyy'
)
);

如果您不喜欢使用表单组件,我不知道将数组映射到实体的简单方法。

关于json - Symfony2 反序列化以使用序列化器使用 DateTime 创建 Doctrine 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29348689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com