php - Doctrine - 返回不为 0 的结果
问题描述
我正在尝试编写查询,我可以在每个操作触发器上检查数据库表,如果只有一个实体对象等于或大于 0,则返回数据。
我可以在查询中执行还是需要遍历数组?
我的尝试:
$query = $this->getMyRepository()
->createQueryBuilder('a')
->select('COUNT(a)')
->where("mod(:units, a.units) >= 0")
->getQuery()
->getResult();
if ($query) {
return $query;
}
解决方案
使用包含 a 的 select 解析结果与count
经典查询有点不同。
你可以试试这个。也许代码可以重构。这是一个旧的(但有效的)示例。
$result = $qb->getQuery()->getScalarResult()[0];
return count($result) !== 0 ? (int) array_shift($result) : 0;
推荐阅读
- java - 无法按日期过滤表
- angular - 选择 - 设置禁用的选定选项以及绑定 *ngfor 选项
- .net - WinForms PropertyGrid 如何在外部库中查找自定义类型转换器?
- php - 在 OR 查询中失败时确定记录的实际值
- javascript - 具有输入和输出的表单在打印输出后立即重新加载页面
- qt - 单击按钮时如何更改列表视图的 listModel?
- javascript - 单击其中一个子元素后,如何更改完整部分的背景颜色?
- java - 我必须使用扫描仪在数组中移动一个字符。(爪哇)
- vue.js - Vuex:处理动作的最佳方式
- python - 用另一个变量的色调可视化一个分类变量的计数