Работаю в Symfony2.
У меня есть две сущности
- Category {id,name} 
 
- Item{id,category,name,isActive}
 
Генерирую меню со вложенными item. наподобие
Машины (category.name)
 - машина1 (item.name)
-  машина2 (item.name)
Самолет  (category.name)
 - самолет1 (item.name)
 - самолет2 (item.name)
Генерация в twig 
  {% for category in categories %}
       {{category.name}}
        {% for item in category.items %}
                 -  {{ item.name }}
        {% endfor %}
  {% endfor %}
Если запросить найти все, то проблем нет.
Но мне нужно
1) Вывести все категории
2) Вывести вложенные item которые isActive = 1
Пробовал так 
class CategoryRepository extends EntityRepository
{
    public function findAll()
    {
        return $this->createQueryBuilder('c')
            ->innerJoin('c.items', 'i')
            ->where('i.isActive = 1')
            ->orderBy('c.position', 'ASC')
            ->getQuery()->getResult();
    }
}
1) Выводить категории не все, только те которые имеют items
2) Items выводятся все равно все, даже isActive = 0 
Буду благодарен за решение  + ссылки по теме.