Details
Description
I already found a similar issue report but it seems to be not solved completely:
http://doctrine-project.org/jira/browse/DDC-1382
I did something like this (mock): (Metadata cache is OFF)
$someCompositeEntity = new SomeCompositeEntity;
$someCompositeEntity->setUser($userEntity);
$someCompositeEntity->setAnotherRelation($anotherRelationEntity);
// Note: $userEntity & $anotherRelationEntity are managed by UOW.
$uow = $em->getUnitOfWork();
var_dump($uow->getEntityState($someCompositeEntity));
– EXPECTED: –
bool(false)
– ACTUAL RESULT: –
<h1>PHP Error [4096]</h1>
<p>Object of class Application\Model\Db\Entity\User could not be converted to string (/Users/keksnicoh/lokalhorst/FinQ/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:2754)</p>
<pre>#0 unknown(0): CWebApplication->handleError()
#1 /Users/keksnicoh/lokalhorst/FinQ/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(2754): implode()
#2 /Users/keksnicoh/lokalhorst/FinQ/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(1389): Doctrine\ORM\UnitOfWork->tryGetById()
#3 /Users/keksnicoh/lokalhorst/FinQ/Application/Model/Db/Model/AnswerCommentRating.php(42): Doctrine\ORM\UnitOfWork->getEntityState()
As you see the metadatainfo tries to convert the composite objects to strings, instead of getting the identifiers from the objects.
greetz
keksnicoh
Fixed and merged into 2.3.x branch