【问题标题】:FindAll() result on Catchable Fatal Error: Object of class DateTime could not be converted to string可捕获致命错误的 FindAll() 结果:DateTime 类的对象无法转换为字符串
【发布时间】:2013-11-18 12:38:29
【问题描述】:

我做了一个简单的 findAll 函数,我得到以下错误:

可捕获的致命错误:无法转换类 DateTime 的对象 在 vendor\doctrine\orm\lib\Doctrine\ORM\UnitOfWork.php 行中的字符串 第2429章

   $em = $this->getDoctrine()->getManager();
   $ppk = $em->getRepository('EgBundle:Table')
                ->findAll();

实体是自动创建的,我没有对这个表实体做任何具体的事情。怎么了?我真的不明白...

编辑:

显然在整数和日期之间存在一个主键。

if ($class->isIdentifierComposite) {
     (....)
     implode (' ', array('idTrn' => '100', 'date' => object(DateTime)))

【问题讨论】:

  • 所有属性都正确配置了吗?
  • 一切都从 Symfony 应用程序自动完成。
  • 是的,可能会出错...

标签: php datetime symfony doctrine-orm


【解决方案1】:

http://www.doctrine-project.org/jira/browse/DDC-1209

Doctrine 2 一直要求 id 字段可以转换为字符串, 这不是 DateTime 对象的情况。

这有点令人讨厌:s

编辑:

但是这里有一个最近报告的问题

http://www.doctrine-project.org/jira/browse/DDC-2724

【讨论】:

  • 但是这个问题是一年多以前的事了!这很奇怪。
猜你喜欢
  • 2014-06-21
  • 2013-10-08
  • 2015-08-28
  • 2015-03-08
  • 2013-08-07
  • 2015-08-28
  • 2018-03-12
  • 2014-02-21
相关资源
最近更新 更多