Skip to content

Loading…

DDC-2032: DQL fails for Joined Inheritance with Associations on child classes #2710

Closed
doctrinebot opened this Issue · 4 comments

2 participants

@doctrinebot

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
Clazz 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.

Any ideas?

@doctrinebot

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

@doctrinebot

Comment created by pdobrigkeit:

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.

@doctrinebot

Issue was closed with resolution "Invalid"

@doctrinebot

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.

@beberlei beberlei was assigned by doctrinebot
@doctrinebot doctrinebot closed this
@doctrinebot doctrinebot added the Bug label
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.