我用这个Stackoverflow作为例子:
看起来像这样:
$criteria = new DoctrineCommonCollectionsCriteria();
$criteria->where($criteria->expr()->gt('prize', 200));
$result = $entityRepository->matching($criteria);
我想像这样使用最大值:
$criteria->where($criteria->expr()->max('prize'));
但得到:
Attempted to call an undefined method named "max" of class "DoctrineCommonCollectionsExpressionBuilder".
有什么想法吗?
我查看了 API,它没有最大表达式比较。
以下是供参考的标准 API:http://www.doctrine-project.org/api/collections/1.3/class-Doctrine.Common.Collections.Criteria.html
我知道查询生成器有一个 max 表达式,但这个 API 没有。
似乎您实际上是在寻找附加到查询生成器DoctrineORMQueryExpr::max()
的表达式生成器的max()
方法。
您实际要查找的是:
$entityManager->createQueryBuilder()->expr()->max($x);
$entityManager
显然是实体管理器的一个实例,您将通过 DI 或容器获得该实例。