Я столкнулся с странным поведением с проблемой Symfony и Doctrine, которая на самом деле обнаружила, что может быть связана с этой ошибкой.
request.CRITICAL: Неподготовлено PHP Exception Doctrine \ ORM \ EntityNotFoundException: «Объект не найден». на странице /dev/vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/ProxyFactory.php 177 {"exception": "[object] (Doctrine \ ORM \ EntityNotFoundException (код: 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, как и ожидалось.
Есть идеи?
Я боролся с этим несколько часов, после чего нашел два решения:
изменение:
return $entities ? $entities[0] : null;
чтобы:
return $entities ? $entities[0] : $entity;
регенерировать кеш-память для Symfony:
composer run-script post-update-cmd --no-dev
Может быть, может быть, очевидно, но вы проверяете, возвращают ли ваши запросы значения? О вашей сущности, сделайте shure, без ошибок ( doctrine orm:validate-schema
).
И, кстати, у меня есть некоторые проблемы с прокси-каталогом – normaly на OS X ( Doctrine 2. Auto generate proxy )