Доктрина - построитель запросов и группа BY - PullRequest
0 голосов
/ 05 января 2019
  1. Если я выберу 'e' - я получу 10 строк (только уникальные объекты).
  2. Если я выберу '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();
...