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