Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1573

Simple relation hydratation not working properly

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: 2.1.3, 2.1.4, 2.1.5
    • Fix Version/s: None
    • Component/s: None
    • Security Level: All
    • Labels:
      None
    • Environment:
      Debian + MySQL + PHP 5.3.3 + Symfony 2.0.8

      Description

      I'm not sure if i'm in the right place but i'm talking about this : https://github.com/doctrine/doctrine2

      The following code trigger a lot more queries than it should and than it used to :

      — code —

      $qb = $em->createQueryBuilder()
      ->select('t, c, p')
      ->from('Task', 't')
      ->leftJoin('t.children', 'c')
      ->leftJoin('t.parent', 'p')
      ->orderBy('t.root, t.lft')
      ;

      foreach( $qb->getQuery()->getResult() as $task)
      {
      $task->getChildren()->count();
      }
      — ---

      edit: The code doesn't seems to be very nice in this editor, here is a pastbin version : http://pastebin.com/LCRfBCcV

      With doctrine 2.1.2, only one query is needed.

      Since doctrine 2.1.3, i almost have one query per loop iteration. It's the same with all next versions.

      I'm using a NestedSet extension and Symfony 2.0.8, if i force doctrine version to 2.1.2 it works again with one query (with doctrine-common 2.1.4 and doctrine-dbal 2.1.5) so i think the problem is clearly introduced by doctrine itself (2.1.3).

      I hope i was clear enough.

        Issue Links

          Activity

          Hide
          Benjamin Eberlei added a comment -

          Duplicate of DDC-1526

          Show
          Benjamin Eberlei added a comment - Duplicate of DDC-1526
          Hide
          Benjamin Eberlei added a comment -

          Can you disable the nested set extension? the other ticket uses it too and i want to rule out that its the extensions fault.

          Show
          Benjamin Eberlei added a comment - Can you disable the nested set extension? the other ticket uses it too and i want to rule out that its the extensions fault.
          Hide
          Jeremy added a comment - - edited

          I just tried without the nested set extension but it still triggers the same amount of unecessary queries.

          Show
          Jeremy added a comment - - edited I just tried without the nested set extension but it still triggers the same amount of unecessary queries.

            People

            • Assignee:
              Benjamin Eberlei
              Reporter:
              Jeremy
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: