代码之家  ›  专栏  ›  技术社区  ›  Zwen2012

条令查询生成器count manytomy

  •  2
  • Zwen2012  · 技术社区  · 6 年前

    现在我想要所有有文件的报价->计数(offer.files)>0

    我这样试过,但没用:

    $this->repository->createQueryBuilder('offer')
                ->addSelect('COUNT(offer.files) as files')
                ->having('files > 1')
                ->getQuery()
                ->getResult();
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   Jannes Botis    6 年前

    inner join 与协会和 group by

    ->innerJoin('offer.files', 'files')
    

    INNER JOIN关键字选择两个表中具有匹配值的记录。

    然后您可以:

    ->addSelect('COUNT(files) as total')
    ->having('total > 1')
    ->groupBy('offer')
    

    隐藏

    ->addSelect('COUNT(files) as HIDDEN total')
    

    Inner join in detail Doctrine query builder

        2
  •  5
  •   Laurynas    6 年前

    实际上你不需要加入。教条已经形成 SIZE DQL function

    所以你可以这样使用它:

    $this->repository->createQueryBuilder('offer')
        ->addSelect('SIZE(offer.files) as files')
        ->having('files > 1')
        ->getQuery()
        ->getResult();