ResultSetMapping ассоциативный массив addScalarResult

В моем проекте с Symfony2 я использую Doctrine createNativeQuery, и я хотел бы получить ассоциативный массив.

Это мой код

$rsm = new ResultSetMapping;
$rsm->addScalarResult('id', 'id');
$rsm->addScalarResult('name', 'name');
$rsm->addScalarResult('phone_one', 'phoneOne');
$rsm->addScalarResult('phone_two', 'phoneTwo');

У меня есть такой результат:

array:2 [
0 => array:4 [
"id" => "975""name" => "one name""phoneOne" => "122345556""phoneTwo" => "345566789"]
1 => array:4 [
0 => array:4 [
"id" => "976""name" => "two name""phoneOne" => "122345556""phoneTwo" => "345566789"]
]

Возможен ли этот результат?

array:2 [
0 => array:4 [
"id" => "975""name" => "one name""phones" => [
"phoneOne" => "122345556""phoneTwo" => "345566789"]
]
1 => array:4 [
0 => array:4 [
"id" => "976""name" => "two name""phones" => [
"phoneOne" => "122345556""phoneTwo" => "345566789"]
]
]

большое спасибо

1

Решение

Если вы хотите именно такой результат, почему бы не создать OneToMany для пользователей на телефоны? Я настоятельно рекомендую вам сделать это.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]