Jira issue originally created by user pdobrigkeit:
I have the following object hierarchy:
Clazz A with Joined Table Inheritance
Clazz B extends A
Clazz C extends A with an association (n:1) to D
I am doing a DQL query 'SELECT u FROM A u'
If I just have As and Bs in the DB everything is fine. But I there is a C in there I get the following error:
Notice: Trying to get property of non-object in X:\ZendWorkspace\goalioapplication\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php on line 479
Fatal error: Call to a member function fetch() on a non-object in X:\ZendWorkspace\goalioapplication\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php on line 148
When I debug the _rsm of the Hydrator is null when trying to hydrate the row for C.
Comment created by pdobrigkeit:
Ok, it doesn't seem related to inheritance. Have the same problem now as well with a Join DQL query.
Foo (1:n) Bar
Bar (1:n) Baz
SELECT c FROM Foo c INNER JOIN c.bar cj WITH cj.id IN(1)
Gives me the same error as above when it tries to hydrate Bar
Ok, further investigations on my part have found the problem to be somewhere else entirely... Not sure yet if it is a bug, but the problem arises because during the hydration my application does another query, which uses the same hydrator object and thus does cleanup before the initial query is complete. That results in the _rsm being null when the original hydration continues. Will see if that can be fixed in my application.
Issue was closed with resolution "Invalid"
Comment created by @ocramius:
[~pdobrigkeit] this is known. You have to pass a custom hydrator to the new query if you use DQL during PostLoad events.