gpt4 book ai didi

php - Symfony – “Object of class DateTime could not be converted to string” 持久化实体

转载 作者:行者123 更新时间:2023-12-04 16:45:40 26 4
gpt4 key购买 nike

我试图用 Doctrine 来持久化一个实体,该实体有一个日期属性,显然,这会产生错误。

这是在实体中声明属性的方式:

/**
* @var date
*
* @ORM\Column(name="fecha", type="date")
* @ORM\Id
*/
private $fecha;

这就是我在 Controller 上创建实体以及使用 Doctrine 持久化它的代码的方式:

$estadistica = new EstadisticaTerceros();
$fecha = date_create_from_format('Y-m-d', '2017-05-04');
$estadistica->setFecha($fecha);
//Set other attributes
$em = $this->getDoctrine()->getManager();
$em->persist($estadistica);
$em = $this->getDoctrine()->getManager();
$em->flush();

表中属性为日期类型。

这是错误屏幕: enter image description here

有什么想法吗?

最佳答案

我假设您的 fecha 列不是表的主键。因此,您可以从该列中删除 @ORM\Id 注释:

/**
* @var \DateTime
*
* @ORM\Column(name="fecha", type="date")
*/
private $fecha;

date_create_from_format 也是 DateTime::createFromFormat 的别名,我建议使用它,这样您正在创建一个\DateTime:

$fecha = \DateTime::createFromFormat('Y-m-d', '2017-05-04');

关于php - Symfony – “Object of class DateTime could not be converted to string” 持久化实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45641039/

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