Symfony Query Builder如何获取无键名的纯值结果数组?
Symfony Query Builder 返回一维纯值数组解决方案
方法一:使用getSingleColumnResult()(推荐)
针对单字段查询场景,Doctrine Query提供了getSingleColumnResult()方法,可直接返回由纯值组成的一维数组,无需额外处理。
修改你的代码如下:
$qb ->select('a.id') ->from(Article::class, 'a') // ... 补充你的查询条件 ->getQuery() ->getSingleColumnResult();
执行后即可得到期望结果:
Array ( [0] => 111 [1] => 222 )
方法二:用PHP原生函数array_column()处理结果
如果已通过getArrayResult()获取到二维数组结果,可使用PHP内置的array_column()函数提取指定键的值,转换为一维数组:
// 获取原始二维数组结果 $result = $qb ->select('a.id') ->from(Article::class, 'a') // ... 补充你的查询条件 ->getQuery() ->getArrayResult(); // 提取'id'列的值组成一维数组 $ids = array_column($result, 'id');
$ids变量将存储你需要的一维纯值数组。
内容的提问来源于stack exchange,提问作者broxyl
相关产品推荐
相关产品推荐

