Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-2735

Can't save user entity with association of type __PHP_Incomplete_Class

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Git Master
    • Fix Version/s: None
    • Component/s: ORM
    • Security Level: All
    • Labels:

      Description

      This was working until I did some updating in composer. I'm not entirely sure which package changed to cause this, but when I save my user entity now, I get this error:

      Fatal error: Uncaught exception 'Doctrine\ORM\ORMException' with message
      'Found entity of type __PHP_Incomplete_Class on association Mrss\Entity\User#college,
      but expecting Mrss\Entity\College' in
      [...]/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php on line 783

      This seems to be related to this issue here: http://www.doctrine-project.org/jira/browse/DDC-1698

      But I'm not sure how to fix it.

        Activity

        Hide
        Danny Ferguson added a comment -

        Clearing my cookies solved this issue.

        Show
        Danny Ferguson added a comment - Clearing my cookies solved this issue.
        Hide
        Danny Ferguson added a comment -

        Clearing my cookies got rid of the session that was causing this. Odd.

        Show
        Danny Ferguson added a comment - Clearing my cookies got rid of the session that was causing this. Odd.
        Hide
        Christophe Coevoet added a comment -

        __PHP_Incomplete_Class is used by PHP when you try to unserialize an object and it cannot find the class for it.

        If you are serializing objects in your session and you are deleting a class, you need to remove the sessions stored on the server when deleting the class (removing the cooie solved it for you because it also removed the session cookie and so you got a fresh session without the broken serialized data, but it would still happen for your other users)

        If you are serializing doctrine proxy objects, you should register the proxy autoloader to be able to deserialize them

        Show
        Christophe Coevoet added a comment - __PHP_Incomplete_Class is used by PHP when you try to unserialize an object and it cannot find the class for it. If you are serializing objects in your session and you are deleting a class, you need to remove the sessions stored on the server when deleting the class (removing the cooie solved it for you because it also removed the session cookie and so you got a fresh session without the broken serialized data, but it would still happen for your other users) If you are serializing doctrine proxy objects, you should register the proxy autoloader to be able to deserialize them
        Hide
        Danny Ferguson added a comment -

        Could I get some help in setting up the proxy autoloader? I'm using DoctrineORMModule in Zend Framework 2.

        Show
        Danny Ferguson added a comment - Could I get some help in setting up the proxy autoloader? I'm using DoctrineORMModule in Zend Framework 2.
        Hide
        Phillipe Rosário added a comment -

        Danny Ferguson, you get some help in setting up the proxy autoloader using DoctrineORMModule in Zend Framework 2?

        Show
        Phillipe Rosário added a comment - Danny Ferguson, you get some help in setting up the proxy autoloader using DoctrineORMModule in Zend Framework 2?

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Danny Ferguson
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: