DDC-594: manytomany relations fail on select with multiple records #729

Open
opened 2026-01-22 12:48:17 +01:00 by admin · 0 comments
Owner

Originally created by @doctrinebot on GitHub (May 16, 2010).

Jira issue originally created by user samuel:

i have the following 2 yml

group

Userpro\Entity\Group:
    type: entity
    table: userpro_group
    fields:
        id:
            id: true
            type: integer
            column: id
            generator:
                strategy: AUTO
        name:
            name: name
            type: string
            lenght: 100
        permission:
            name: permission
            type: string
            lenght: 100
    lifecycleCallbacks: {  }

user

Userpro\Entity\User:
  type: entity
  table: userpro_user
  fields:
    id:
      id: true
      type: integer
      column: id
      generator:
        strategy: AUTO
    name:
      name: username
      type: string
      lenght: 100
  manyToMany:
    group:
      targetEntity: Userpro\Entity\Group
      cascade: {  }
      mappedBy: null
      joinTable:
        name: userpro*users*groups
        joinColumns:
          -
            name: user_id
            referencedColumnName: id
        inverseJoinColumns:
          -
            name: group_id
            referencedColumnName: id
      orderBy: null
  lifecycleCallbacks: {  }

and i am using the following insert/dql

$group = new Userpro\Entity\Group;
$group->setName('test');
$group->setPermission('test');

$em->persist($group);
$em->flush();

$user = new Userpro\Entity\User;
$user->setName('samuel');
$user->addGroup($em->find('Userpro\Entity\Group', 1));

$em->persist($user);
$em->flush();

$dql = "SELECT  u, g
        FROM    Userpro\Entity\User u
        JOIN    u.group g
        ORDER
            BY  u.name ASC
";

$result = $em->createQuery($dql);
$users = $result->getResult();

echo '<pre>';
if($users) {
    foreach($users as $user) {
        echo $user->getName() . "\n";

        foreach($user->getGroup() as $group) {
            echo "\t" . $group->getName() . "\n";
        }

        echo "\n";
    }
}

when i run the insert/dql more then ones (so there are multiple entry's in de database) i get the error
Call to a member function add() on a non-object in ..Doctrine2/lib/Doctrine/ORM/PersistentCollection.php on line 163

Originally created by @doctrinebot on GitHub (May 16, 2010). Jira issue originally created by user samuel: i have the following 2 yml **group** ``` Userpro\Entity\Group: type: entity table: userpro_group fields: id: id: true type: integer column: id generator: strategy: AUTO name: name: name type: string lenght: 100 permission: name: permission type: string lenght: 100 lifecycleCallbacks: { } ``` **user** ``` Userpro\Entity\User: type: entity table: userpro_user fields: id: id: true type: integer column: id generator: strategy: AUTO name: name: username type: string lenght: 100 manyToMany: group: targetEntity: Userpro\Entity\Group cascade: { } mappedBy: null joinTable: name: userpro*users*groups joinColumns: - name: user_id referencedColumnName: id inverseJoinColumns: - name: group_id referencedColumnName: id orderBy: null lifecycleCallbacks: { } ``` and i am using the following insert/dql ``` $group = new Userpro\Entity\Group; $group->setName('test'); $group->setPermission('test'); $em->persist($group); $em->flush(); $user = new Userpro\Entity\User; $user->setName('samuel'); $user->addGroup($em->find('Userpro\Entity\Group', 1)); $em->persist($user); $em->flush(); $dql = "SELECT u, g FROM Userpro\Entity\User u JOIN u.group g ORDER BY u.name ASC "; $result = $em->createQuery($dql); $users = $result->getResult(); echo '<pre>'; if($users) { foreach($users as $user) { echo $user->getName() . "\n"; foreach($user->getGroup() as $group) { echo "\t" . $group->getName() . "\n"; } echo "\n"; } } ``` when i run the insert/dql more then ones (so there are multiple entry's in de database) i get the error Call to a member function add() on a non-object in ..Doctrine2/lib/Doctrine/ORM/PersistentCollection.php on line 163
admin added the Bug label 2026-01-22 12:48:17 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#729