php - Doctrine ORM 查询构建器获取键值对
问题描述
我在实体存储库中有以下代码:
$rows = $this->createQueryBuilder('t')
->select(['t.idColumn', 't.valueColumn'])
->where('t.foo = :foo')
->orderBy('t.idColumn', 'ASC')
->setParameter('foo', $foo)
->getQuery()
->getArrayResult(); // This returns [[idColumn => ..., valueColumn => ...], ...]
$data = [];
foreach ($rows as $row) {
$data[$row['idColumn']] = abs($row['valueColumn']); // Remapping to [id => value]
}
return $data;
有什么办法可以在本地摆脱自定义重新映射?我知道您可以使用 indexBy 参数,但这只会让我得到正确的键而不是值。
PS我知道array_column(),但这是我每次都必须做的额外步骤,更不用说它不适用于实体拥有的方法。
PPS 这不是使用 Symfony。
解决方案
推荐阅读
- html - 如何在使用 css 时使标题图像居中?
- html - 删除 img src 中的填充
- c# - Automapper 实例配置尚未在 xUnit 测试中初始化
- create-react-app - create-react-app 圈子构建失败
- javascript - 试图将 Promise 传递给另一个函数,然后返回它,得到“未处理的承诺拒绝”
- python - 我无法使用 Python 3.4.0 在虚拟环境中安装 pylibmc
- python - Python 集:difference() 与 symmetric_difference()
- java - Selenium - 从无序列表中单击列表项 - Java
- hadoop - 带有文件 Json 的 Hive 中的 UDF python
- c++ - QWidget初始化函数调用中的不同行为