原则-查询生成器和分组依据

时间:2019-01-05 11:21:25

标签: php symfony doctrine

  1. 如果我选择'e'-我会得到10行(仅唯一实体)。
  2. 如果我选择“ e.id”-我将获得100行(与其他表连接)

如果我在第一种情况下使用groupBy('e.id')没有意义,在第二种情况下它将分组并且我得到10行。

我是对的吗?我在哪里可以读到?在第一种情况下,leftJoin(“ yes / no”)和join(“ yes”)就像过滤器一样,第二种像通常的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();

0 个答案:

没有答案