微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 奇怪的Doctrine EntityNotFoundException

我遇到了Symfony和Doctrine问题的奇怪行为,实际上发现可能与this bug有关.

request.CRITICAL: Uncaught PHP Exception
Doctrine\ORM\EntityNotFoundException: “Entity was not found.” at
/dev/vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/ProxyFactory.PHP line
177 {“exception”:”[object]
(Doctrine\ORM\EntityNotFoundException(code: 0)

提供一些代码示例:

$nextItems = $this->itemmanager->findNextItemByCatId($catId, 2, $allItems);

然后我分配两个返回的结果,如下所示:

$output["next"] = $nextItems[0];
$output["following"] = $nextItems[1];

然后通过API实际返回.

但是,当出于测试目的时 – 我分配随机值:

$output["next"] = "Test value 1";
$output["following"] = "Test value 2";

然后没有异常和错误发生,响应状态为200,正如预期的那样.

这里有什么想法?

解决方法:

我花了几个小时挣扎然后找到了两个解决方案:

>在BasicEntityPersister的第758行应用doctrine变通方法

更改:

    return $entities ? $entities[0] : null;

至:

    return $entities ? $entities[0] : $entity;

>重新生成symfony bootstrap缓存:

composer run-script post-update-cmd --no-dev

> for 2我也将MysqL升级到5.6

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐