I have a Symfony2 app with Doctrine as ORM. In my app i have two entities with one-to-many relations. The one entity is User and the many entity is Item. Their relation config goes below:
User:
oneToMany:
items:
targetEntity: App\Bundle\ItemBundle\Entity\Item
fetch: EAGER
mappedBy: user
Item:
manyToOne:
user:
targetEntity: App\Bundle\UserBundle\Entity\User
fetch: EAGER
inversedBy: items
joinColumn:
name: user_id
referencedColumnName: id
The problem is when i'm trying to get the list of Users and their Items, Doctrine creates separate query for each user to fetch it's items.
The query itself is quite simple:
$entities = $em->getRepository('AppUserBundle:User')->findBy([], [], 30);
Is it possible to fetch all related items for users in one query automatically using Doctrine?
I'm using SF 2.7.6 and doctrine libs with versions:
doctrine/annotations v1.2.7 Docblock Annotations Parser
doctrine/cache v1.5.1 Caching library offering an ob...
doctrine/collections v1.3.0 Collections Abstraction library
doctrine/common v2.5.1 Common Library for Doctrine pr...
doctrine/dbal v2.5.2 Database Abstraction Layer
doctrine/doctrine-bundle 1.6.0 Symfony DoctrineBundle
doctrine/doctrine-cache-bundle 1.2.1 Symfony Bundle for Doctrine Cache
doctrine/doctrine-migrations-bundle 1.1.1 Symfony DoctrineMigrationsBundle
doctrine/inflector v1.0.1 Common String Manipulations wi...
doctrine/instantiator 1.0.5 A small, lightweight utility t...
doctrine/lexer v1.0.1 Base library for a lexer that ...
doctrine/migrations v1.1.0 Database Schema migrations usi...
doctrine/orm v2.5.1 Object-Relational-Mapper for PHP