学说:回归一维

fam*_*s23 0 doctrine symfony doctrine-orm

我在两个实体之间有 ManyToOne 关系ArticleLineArtcile

<?php
//ArticleLine.php
ManyToOne(targetEntity="Gain\Bundle\ArticleBundle\Entity\Article")
Run Code Online (Sandbox Code Playgroud)

我正在尝试根据某些条件获取 Id 列表。
这是我的学说查询 dql:

SELECT tl.id FROM AppBundle\Entity\ArticleLine 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
Run Code Online (Sandbox Code Playgroud)


打电话后$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
Run Code Online (Sandbox Code Playgroud)

知道如何将我的结果转换为一维数组或在水合模式下播放以获得类似的结果


[64624, 64630, 64631, 64633 ... ] 或者 [0 => 64624, 1 => 64630, 2 => 64631 ...]

G1.*_*1.3 5

您可以使用 array_map 函数转换结果:

$result = $qb->getQuery()->getResult()
$result = array_map('current', $result);
Run Code Online (Sandbox Code Playgroud)

您还可以使用array_column函数:

$result = array_column($result, "id")
Run Code Online (Sandbox Code Playgroud)

如果存在具有水合模式的溶液。我想知道 :)