Doctrine 2 Object Relational Mapper (ORM)
I ran into that problem while I had two objects in the identitymap while hydrating a collection: one was new a "real" entity and the other one was an uninitialized proxy. For "real" entities the em is injected in line 2427, for new entities it is injected in 2436->2364, but for proxies this is missing. According to the comment "inject ObjectManager into just loaded proxies." the code in line 2427 should do this, but in fact it is just used if it is a "real" entity or an already initialized proxy. Moving the injection to outside of the condition in line 2411 (if the entity is an unitialized proxy) solves this. |
||
---|---|---|
bin | ||
lib | ||
tests | ||
tools/sandbox | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
build.properties | ||
build.properties.dev | ||
build.xml | ||
composer.json | ||
CONTRIBUTING.md | ||
doctrine-mapping.xsd | ||
LICENSE | ||
phpunit.xml.dist | ||
README.markdown | ||
run-all.sh | ||
UPGRADE.md |
Doctrine 2 ORM
Doctrine 2 is an object-relational mapper (ORM) for PHP 5.3.2+ that provides transparent persistence for PHP objects. It sits on top of a powerful database abstraction layer (DBAL). One of its key features is the option to write database queries in a proprietary object oriented SQL dialect called Doctrine Query Language (DQL), inspired by Hibernates HQL. This provides developers with a powerful alternative to SQL that maintains flexibility without requiring unnecessary code duplication.