Uploaded image for project: 'Doctrine 2 - ORM'
  1. Doctrine 2 - ORM
  2. DDC-1352

ErrorException: Undefined index in array


    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Invalid
    • Affects Version/s: 2.1.1
    • Fix Version/s: None
    • Component/s: DQL
    • Security Level: All
    • Labels:
    • Environment:
      Windows 7, PHP 5.3.3


      The following query:
      "select c.id
      from \\Domain
      Cuisine c
      left join c.nameTranslation t
      left join t.translationValues v
      left join v.language l
      where v.value = :name
      and l.id = :languageId"

      Results in a PHP ErrorException in \Doctrine\ORM\Query\SqlWalker line 745:
      $assoc = ( ! $relation['isOwningSide']) ? $targetClass->associationMappings[$relation['mappedBy']] : $relation;

      When I step through the execution, the array entry: $relation['mappedBy'] gets the following value: "Domain\Translation" in the scope where the error occurs.
      $targetClass->associationMappings has the following indices: "translation" and "language" and this leads to a "Undefined index" error and the execution breaks. It means that I cannot execute DQL queries, which is critical for the application to run.

      <entity name="Domain\Cuisine" table="Cuisine" repository-class="Infrastructure\Persistence\Doctrine\Repository\CuisineRepository">
      <id name="id" type="integer" column="Id">
      <generator strategy="AUTO"/>
      <many-to-one target-entity="Domain\Translation" field="nameTranslation">
      <join-column name="NameTranslation_Id" referenced-column-name="Id"/>

      <entity name="Domain\Translation" table="Translations">
      <id name="id" type="integer" column="Id">
      <generator strategy="AUTO" />
      <one-to-many target-entity="Domain\TranslationValue" mapped-by="Domain\Translation" field="translationValues" orphan-removal="true">

      <entity name="Domain\TranslationValue" table="TranslationValues">
      <id name="id" type="integer" column="Id">
      <generator strategy="AUTO" />

      <field name="value" type="string" column="Value" />

      <many-to-one field="translation" target-entity="Domain\Translation">
      <join-column name="Translation_Id" nullable="false" referenced-column-name="Id" />

      <many-to-one field="language" target-entity="Domain\Language">
      <join-column name="Language_Id" nullable="false" referenced-column-name="Id" />

      <entity name="Domain\Language" table="Languages" repository-class="\Infrastructure\Persistence\Doctrine\Repository\TranslationRepository">
      <id name="id" type="integer" column="Id">
      <generator strategy="AUTO" />
      <field name="name" type="string" column="Name" />
      <field name="shortIsoCode" type="string" column="ShortIsoCode"/>
      <field name="longIsoCode" type="string" column="LongIsoCode"/>
      <field name="isDefault" type="boolean" column="IsDefault" />



          • Assignee:
            guilhermeblanco Guilherme Blanco
            sorenmh Søren
          • Votes:
            0 Vote for this issue
            1 Start watching this issue


            • Created: