我在两个实体ArticleLine
和Artcile
之间有一个 ManyToOne 关系:
<?php
//ArticleLine.php
ManyToOne(targetEntity="GainBundleArticleBundleEntityArticle")
我正在尝试根据某些 where 条件获取 Id 列表。
这是我的学说查询dql:
SELECT tl.id FROM AppBundleEntityArticleLine tl INNER JOIN tl.turnover t INNER JOIN tl.article a WHERE t.supplier = :supplier AND t.year = :year AND tl.significant = false ORDER BY tl.id asc
调用$qb->getQuery()->getResult()
后,我得到了数组的这个结果......
array:138 [
0 => array:1 [
"id" => 64624
]
1 => array:1 [
"id" => 64630
]
2 => array:1 [
"id" => 64631
]
3 => array:1 [
"id" => 64632
]
4 => array:1 [
"id" => 64633
]
5 => array:1 [
"id" => 64637
]
6 => array:1 [
"id" => 64638
知道如何将我的结果转换为一维数组或在水合模式下播放以获得这样的东西
吗?[64624, 64630, 64631, 64633 ... ]
或[0 => 64624, 1 => 64630, 2 => 64631 ...]
您可以使用 array_map 函数转换结果:
$result = $qb->getQuery()->getResult()
$result = array_map('current', $result);
您还可以使用array_column
功能:
$result = array_column($result, "id")
如果存在具有水合模式的解决方案。我想知道:)
您可以使用:
$result = $qb->getQuery()->getSingleColumnResult()