Jmsserializerbundle: Undefined index error

Created on 19 Mar 2012  路  2Comments  路  Source: schmittjoh/JMSSerializerBundle

I recently notice that object serialization stopped working in a project. I can't seem to nail down the problem. It seems to work in my test environment but not in dev/prod environment.

I am using the latest master and metadata 1.1.1 and have cleared the cache.

Here is my stack trace:

<error code="500" message="Internal Server Error">
<exception class="ErrorException" message="Notice: Undefined index: product in C:\wamp\www\tardis\vendor\doctrine\lib\Doctrine\ORM\Persisters\BasicEntityPersister.php line 1280">
<traces>
<trace>
at n/a in C:\wamp\www\tardis\vendor\symfony\src\Symfony\Component\HttpKernel\Debug\ErrorHandler.php line 65
</trace>
<trace>
at Symfony\Component\HttpKernel\Debug\ErrorHandler->handle('8', 'Undefined index: product', 'C:\wamp\www\tardis\vendor\doctrine\lib\Doctrine\ORM\Persisters\BasicEntityPersister.php', '1280', array('assoc' => array('fieldName' => 'parts', 'mappedBy' => 'product', 'targetEntity' => 'Hammond\PartBundle\Entity\Part', 'cascade' => array(), 'orphanRemoval' => false, 'fetch' => '2', 'orderBy' => array('number' => 'ASC'), 'type' => '4', 'inversedBy' => null, 'isOwningSide' => false, 'sourceEntity' => 'Hammond\ProductBundle\Entity\Product', 'isCascadeRemove' => false, 'isCascadePersist' => false, 'isCascadeRefresh' => false, 'isCascadeMerge' => false, 'isCascadeDetach' => false), 'sourceEntity' => object(Hammond\ProductBundle\Entity\Product), 'offset' => null, 'limit' => null, 'criteria' => array())) in C:\wamp\www\tardis\vendor\doctrine\lib\Doctrine\ORM\Persisters\BasicEntityPersister.php line 1280
</trace>
<trace>
at Doctrine\ORM\Persisters\BasicEntityPersister->getOneToManyStatement(array('fieldName' => 'parts', 'mappedBy' => 'product', 'targetEntity' => 'Hammond\PartBundle\Entity\Part', 'cascade' => array(), 'orphanRemoval' => false, 'fetch' => '2', 'orderBy' => array('number' => 'ASC'), 'type' => '4', 'inversedBy' => null, 'isOwningSide' => false, 'sourceEntity' => 'Hammond\ProductBundle\Entity\Product', 'isCascadeRemove' => false, 'isCascadePersist' => false, 'isCascadeRefresh' => false, 'isCascadeMerge' => false, 'isCascadeDetach' => false), object(Hammond\ProductBundle\Entity\Product)) in C:\wamp\www\tardis\vendor\doctrine\lib\Doctrine\ORM\Persisters\BasicEntityPersister.php line 1264
</trace>
<trace>
at Doctrine\ORM\Persisters\BasicEntityPersister->loadOneToManyCollection(array('fieldName' => 'parts', 'mappedBy' => 'product', 'targetEntity' => 'Hammond\PartBundle\Entity\Part', 'cascade' => array(), 'orphanRemoval' => false, 'fetch' => '2', 'orderBy' => array('number' => 'ASC'), 'type' => '4', 'inversedBy' => null, 'isOwningSide' => false, 'sourceEntity' => 'Hammond\ProductBundle\Entity\Product', 'isCascadeRemove' => false, 'isCascadePersist' => false, 'isCascadeRefresh' => false, 'isCascadeMerge' => false, 'isCascadeDetach' => false), object(Hammond\ProductBundle\Entity\Product), object(Doctrine\ORM\PersistentCollection)) in C:\wamp\www\tardis\vendor\doctrine\lib\Doctrine\ORM\UnitOfWork.php line 2160
</trace>
<trace>
at Doctrine\ORM\UnitOfWork->loadCollection(object(Doctrine\ORM\PersistentCollection)) in C:\wamp\www\tardis\vendor\doctrine\lib\Doctrine\ORM\PersistentCollection.php line 207
</trace>
<trace>
at Doctrine\ORM\PersistentCollection->initialize() in C:\wamp\www\tardis\vendor\doctrine\lib\Doctrine\ORM\PersistentCollection.php line 512
</trace>
<trace>
at Doctrine\ORM\PersistentCollection->getIterator() in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\XmlSerializationVisitor.php line 116
</trace>
<trace>
at JMS\SerializerBundle\Serializer\XmlSerializationVisitor->visitArray(object(Doctrine\ORM\PersistentCollection), 'Doctrine\ORM\PersistentCollection') in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\XmlSerializationVisitor.php line 135
</trace>
<trace>
at JMS\SerializerBundle\Serializer\XmlSerializationVisitor->visitTraversable(object(Doctrine\ORM\PersistentCollection), 'Doctrine\ORM\PersistentCollection') in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\GraphNavigator.php line 105
</trace>
<trace>
at JMS\SerializerBundle\Serializer\GraphNavigator->accept(object(Doctrine\ORM\PersistentCollection), null, object(JMS\SerializerBundle\Serializer\XmlSerializationVisitor)) in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\XmlSerializationVisitor.php line 193
</trace>
<trace>
at JMS\SerializerBundle\Serializer\XmlSerializationVisitor->visitProperty(object(JMS\SerializerBundle\Metadata\PropertyMetadata), object(Hammond\ProductBundle\Entity\Product)) in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\GraphNavigator.php line 123
</trace>
<trace>
at JMS\SerializerBundle\Serializer\GraphNavigator->accept(object(Hammond\ProductBundle\Entity\Product), null, object(JMS\SerializerBundle\Serializer\XmlSerializationVisitor)) in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\XmlSerializationVisitor.php line 193
</trace>
<trace>
at JMS\SerializerBundle\Serializer\XmlSerializationVisitor->visitProperty(object(JMS\SerializerBundle\Metadata\PropertyMetadata), object(Hammond\ProductBundle\Entity\Accessory)) in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\GraphNavigator.php line 123
</trace>
<trace>
at JMS\SerializerBundle\Serializer\GraphNavigator->accept(object(Hammond\ProductBundle\Entity\Accessory), null, object(JMS\SerializerBundle\Serializer\XmlSerializationVisitor)) in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\XmlSerializationVisitor.php line 125
</trace>
<trace>
at JMS\SerializerBundle\Serializer\XmlSerializationVisitor->visitArray(object(Doctrine\ORM\PersistentCollection), 'Doctrine\ORM\PersistentCollection') in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\XmlSerializationVisitor.php line 135
</trace>
<trace>
at JMS\SerializerBundle\Serializer\XmlSerializationVisitor->visitTraversable(object(Doctrine\ORM\PersistentCollection), 'Doctrine\ORM\PersistentCollection') in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\GraphNavigator.php line 105
</trace>
<trace>
at JMS\SerializerBundle\Serializer\GraphNavigator->accept(object(Doctrine\ORM\PersistentCollection), null, object(JMS\SerializerBundle\Serializer\XmlSerializationVisitor)) in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\XmlSerializationVisitor.php line 193
</trace>
<trace>
at JMS\SerializerBundle\Serializer\XmlSerializationVisitor->visitProperty(object(JMS\SerializerBundle\Metadata\PropertyMetadata), object(Hammond\ProductBundle\Entity\Enclosure)) in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\GraphNavigator.php line 123
</trace>
<trace>
at JMS\SerializerBundle\Serializer\GraphNavigator->accept(object(Hammond\ProductBundle\Entity\Enclosure), null, object(JMS\SerializerBundle\Serializer\XmlSerializationVisitor)) in C:\wamp\www\tardis\vendor\bundles\JMS\SerializerBundle\Serializer\Serializer.php line 61
</trace>
<trace>
at JMS\SerializerBundle\Serializer\Serializer->serialize(object(Hammond\ProductBundle\Entity\Enclosure), 'xml') in C:\wamp\www\tardis\src\Hammond\CoreBundle\Controller\PageController.php line 43
</trace>
...

Most helpful comment

This is because of incorrect schema, run

app/console doctrine:schema:validate

All 2 comments

Closing as not reproducible.

This is because of incorrect schema, run

app/console doctrine:schema:validate

Was this page helpful?
0 / 5 - 0 ratings