- Если я выберу 'e' - я получу 10 строк (только уникальные объекты).
- Если я выберу 'e.id' - я получу 100 строк (соединенных с другими таблицами)
Если я использую groupBy ('e.id') в первом случае, это не имеет смысла, во втором случае оно будет сгруппировано, и я получу 10 строк.
Я прав? Где я могу прочитать об этом? В первом случае leftJoin («да / нет») и join («да») работают как фильтры, во втором - как обычный SQL-запрос?
$qb = $this->getRepository('Bundle:Entity')->createQueryBuilder('e');
$qb
->select('e') // e - 10 rows, e.id - 100 rows
->leftJoin('e.relation1', 'r1')
->leftJoin('e.relation2', 'r2')
->leftJoin('r2.relation3', 'r3')
->join('r3.relation4', 'relation');
$result = $qb->getQuery()->getResult();