Доктрина - использовать значение столбца в качестве индекса массива - PullRequest
0 голосов
/ 29 мая 2018

У меня есть этот запрос:

$qb = $this
        ->_em
        ->createQueryBuilder();

    $qb
        ->select('f.name', 'f.id')
        ->from('Bundle:F', 'f', 'f.id');
    return $qb->getQuery()->getResult();

, который возвращает результат следующим образом:

array:438[▼
    214 => array:2[▼
       "name" => "xxx"
       "id" => 214
    ]
    215 => array:2[▼
       "name" => "yyy"
       "id" => 215
    ]
    ... 

Но я не хочу подмассивы и хочу, чтобы результат был возвращен какэто:

array:438[▼
    214 => "xxx"
    215 => "yyy"
    ...

т.е. id в качестве ключа и name в качестве значения.Это возможно?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018
$result =  $qb->getQuery()->getResult();
return array_column($result, "name", "id");
0 голосов
/ 29 мая 2018

Вы можете использовать и array_column, чтобы исправить это в массиве.

$arr = array_column($qb, "name", "id");  

Это позволит изолировать столбец id и использовать его в качестве ключа, а также изолировать столбец имени и использовать его в качестве значений.

...