Published on

doctrine教程3---查询生成器

原创文章,转载时需取得本人同意并注明来源
Authors
  • doctrine教程3---查询生成器
    Name
    langziyang
    Twitter

大多数时间我们并不会很DQL,而是使用查询生成器(QueryBuilder)

注释掉 DQL。让我们用 QueryBuilder 重建它

use Doctrine\Common\Collections\Criteria;
public function findAllOrdered(): array
    {
        //$dql = 'SELECT category FROM App\Entity\Category as category order by category.name DESC';
        //$query = $this->_em->createQuery($dql);
        //return $query->getResult();
        $qb
            = $this->createQueryBuilder('category')
            ->addOrderBy('category.name', Criteria::DESC);
        $query = $qb->getQuery();
        return $query->getResult();
    }

因为我们是在Category的存储库里写这个生成器,所以会自动把FROM App\Entity\Category添加进来。然后我们添加了Order by。 一个简单的工作就完成了