Undefinierter Index zur Doktrin m: n Relation

Ich habe eine 'Abteilung' und 'newsItem', die im Zusammenhang mit m:n ist. Wenn ich versuche aufzählen über eine Abteilung newsItems, damit Anstoß Abruf aus der db bekomme ich diese Fehlermeldung:

am ErrorHandler ->handle ( 
'8', 
'Undefined index: newsItems', 
'/.../ufscar_symfony/vendor/doctrine/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php', 
'807', 
array( 
'assoc' => array( 
'Feldname' =>', newsItems', 
'joinTable' => array(), 
'targetEntity' => 'UfscarDfmc\OrgBundle\Entity\NewsItem', 
'mappedBy' =>', newsItems', 
'inversedBy' => null, 
'cascade' => array(), 
'fetch' =>', 2', 
'type' =>', 8', 
'isOwningSide' => false, 
'sourceEntity' => 'UfscarDfmc\OrgBundle\Entity\Department', 
'isCascadeRemove' => false, 
'isCascadePersist' => false, 
'isCascadeRefresh' => false, 
'isCascadeMerge' => false, 
'isCascadeDetach' => false 
), 
'sourceEntity' => Objekt(Abteilung), 
'offset' => null, 
'limit' => null, 
'Kriterien' => array(), 
'sourceClass' => Objekt(ClassMetadata) 
) 
) 

Was besonders komisch ist, dass es ist ein anderes Verhältnis in der Abteilung, zu einem anderen m:n Entität, die einfach nur funktioniert, und es gibt keinen Unterschied, wie das mapping eingerichtet ist, ich habe 10 mal mindestens.

Den Klassen und den vollständigen stacktrace:

     /**
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="...\OrgBundle\Entity\DepartmentRepository")
 */
class Department
{
        /**
     * Inverse Side
     *
     * @ManyToMany(targetEntity="NewsItem", mappedBy="newsItems")
     */
    private $newsItems;

    public function __construct()
    {
        $this->newsItems = new \Doctrine\Common\Collections\ArrayCollection();
    }
    /**
     * Get newsItems
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getNewsItems()
    {
        return $this->newsItems;
    }
}


class NewsItem
{
    /**
     * Owning Side
     *
     * @ManyToMany(targetEntity="Department", inversedBy="newsItems")
     * @JoinTable(name="newsItems_departments",
     *      joinColumns={@JoinColumn(name="newsItem_id", referencedColumnName="id")},
     *      inverseJoinColumns={@JoinColumn(name="department_id", referencedColumnName="id")}
     *      )
     */
    private $departments;

    public function __construct(){
        $this->departments = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
     * Get departments
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getDepartments()
    {
        return $this->departments;
    }
}


public function showAction($slug)
{
    $em = $this->getDoctrine()->getEntityManager();
    $entity = $em->getRepository('UfscarDfmcOrgBundle:Department')->findOneBySlug($slug);

    return array(
        'entity' => $entity,
        'newsItems' => $entity->getNewsItems(), # enumerating over this gives the error
    );
}
am ErrorHandler ->handle ('8', 'Undefined index: newsItems', '/.../vendor/doctrine/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php', '807', array('assoc' => array('fieldName' =>', newsItems', 'joinTable' => array(), 'targetEntity' => 'UfscarDfmc\OrgBundle\Entity\NewsItem', 'mappedBy' =>', newsItems', 'inversedBy' => null, 'cascade' => array(), 'fetch' => '2', 'type' => '8', 'isOwningSide' => false, 'sourceEntity' => 'UfscarDfmc\OrgBundle\Entity\Department', 'isCascadeRemove' => false, 'isCascadePersist' => false, 'isCascadeRefresh' => false, 'isCascadeMerge' => false, 'isCascadeDetach' => false), 'sourceEntity' => Objekt(Abteilung), 'offset' => null, 'limit' => null, 'Kriterien' => array(), 'sourceClass' => Objekt(ClassMetadata))) 
in /.../vendor/doctrine/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php in Zeile 807 
bei BasicEntityPersister ->getManyToManyStatement (array('fieldName' =>', newsItems', 'joinTable' => array(), 'targetEntity' => 'UfscarDfmc\OrgBundle\Entity\NewsItem', 'mappedBy' =>', newsItems', 'inversedBy' => null, 'cascade' => array(), 'fetch' => '2', 'type' => '8', 'isOwningSide' => false, 'sourceEntity' => 'UfscarDfmc\OrgBundle\Entity\Department', 'isCascadeRemove' => false, 'isCascadePersist' => false, 'isCascadeRefresh' => false, 'isCascadeMerge' => false, 'isCascadeDetach' => false), Objekt(Abteilung)) 
in /.../vendor/doctrine/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php in Zeile 778 
bei BasicEntityPersister ->loadManyToManyCollection (array('fieldName' =>', newsItems', 'joinTable' => array(), 'targetEntity' => 'UfscarDfmc\OrgBundle\Entity\NewsItem', 'mappedBy' =>', newsItems', 'inversedBy' => null, 'cascade' => array(), 'fetch' => '2', 'type' => '8', 'isOwningSide' => false, 'sourceEntity' => 'UfscarDfmc\OrgBundle\Entity\Department', 'isCascadeRemove' => false, 'isCascadePersist' => false, 'isCascadeRefresh' => false, 'isCascadeMerge' => false, 'isCascadeDetach' => false), Objekt(Abteilung), Objekt(PersistentCollection)) 
in /.../vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.php in Zeile 2088 
bei UnitOfWork ->loadCollection (object(PersistentCollection)) 
in /.../vendor/doctrine/lib/Doctrine/ORM/PersistentCollection.php in Zeile 207 
bei PersistentCollection ->initialize () 
in /.../vendor/doctrine/lib/Doctrine/ORM/PersistentCollection.php in Zeile 474 
bei PersistentCollection ->count () 
in Zeile 
bei count (object(PersistentCollection)) 
in /.../src/UfscarDfmc/OrgBundle/Controller/DepartmentController.php in Zeile 53 
bei DepartmentController ->showAction ('graduacao') 
in Zeile 

InformationsquelleAutor der Frage Jan | 2011-09-12

Schreibe einen Kommentar