可捕获致命错误的 FindAll() 结果:DateTime 类的对象无法转换为字符串

Posted

技术标签:

【中文标题】可捕获致命错误的 FindAll() 结果:DateTime 类的对象无法转换为字符串【英文标题】:FindAll() result on Catchable Fatal Error: Object of class DateTime could not be converted to string 【发布时间】: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 应用程序自动完成。 是的,可能会出错... 【参考方案1】:

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

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

这有点令人讨厌:s

编辑:

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

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

【讨论】:

但是这个问题是一年多以前的事了!这很奇怪。

以上是关于可捕获致命错误的 FindAll() 结果:DateTime 类的对象无法转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

PHP:异常和可捕获的致命错误有啥区别?

可捕获的致命错误:在 json_decode

可捕获的致命错误:类 AppBundle\Entity\Categoria 的对象无法转换为字符串

可捕获的致命错误:WP_Error 类的对象无法转换为字符串

SQL 错误可捕获的致命错误:stdClass 类的对象无法转换为字符串

可捕获的致命错误:WP_Error 类的对象无法转换为字符串