Symfony2表单提交错误在提交之前设置关系

问题描述

|| 这是我的贴:
https://gist.github.com/1026584
上面产生错误
Fatal error: method_exists(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class deFinition \"Proxies\\JStoutMainBundleEntityLocationProxy\" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class deFinition in /www/jstout/vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.PHP on line 2266 Call Stack: 0.0001 622816 1. {main}() /www/jstout/web/app_dev.PHP:0 0.0120 1391096 2. Symfony\\Component\\HttpKernel\\Kernel->handle() /www/jstout/web/app_dev.PHP:21 0.0155 1643168 3. Symfony\\Bundle\\FrameworkBundle\\HttpKernel->handle() /www/jstout/app/bootstrap.PHP.cache:612 0.0155 1643888 4. Symfony\\Component\\HttpKernel\\HttpKernel->handle() /www/jstout/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/HttpKernel.PHP:44 0.0155 1643888 5. Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw() /www/jstout/app/bootstrap.PHP.cache:416 0.0808 3808568 6. call_user_func_array() /www/jstout/app/bootstrap.PHP.cache:438 0.0808 3808816 7. JStout\\MainBundle\\Controller\\vendorController->signupAction() /www/jstout/app/bootstrap.PHP.cache:0 0.1496 5248224 8. JStout\\MainBundle\\Form\\vendor\\SignupHandler->process() /www/jstout/src/JStout/MainBundle/Controller/vendorController.PHP:55 0.1994 6163232 9. Doctrine\\ORM\\EntityManager->flush() /www/jstout/src/JStout/MainBundle/Form/vendor/SignupHandler.PHP:57 0.1994 6163232 10. Doctrine\\ORM\\UnitOfWork->commit() /www/jstout/vendor/doctrine/lib/Doctrine/ORM/EntityManager.PHP:328 0.1994 6163232 11. Doctrine\\ORM\\UnitOfWork->computeChangeSets() /www/jstout/vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.PHP:249 0.1998 6187424 12. Doctrine\\ORM\\UnitOfWork->computeChangeSet() /www/jstout/vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.PHP:505 0.2000 6196648 13. Doctrine\\ORM\\UnitOfWork->computeAssociationChanges() /www/jstout/vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.PHP:490 0.2000 6221624 14. Doctrine\\ORM\\UnitOfWork::objTostr() /www/jstout/vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.PHP:572 0.2000 6221752 15. method_exists() /www/jstout/vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.PHP:2266
如果删除错误消失了:
$vendor->setowner($user)
这是错误还是我不能将所有者设置为会话对象的原因?     

解决方法

        您的User对象中是否有私有属性? 在会话中插入对象时,将调用php函数serialize,并且私有属性存在问题。您必须将这些私有财产进行保护。