У меня есть две таблицы, например
студент
id name
1 John
2 Doe
предмет
id sub student
1 eng 1
2 maths 1
У меня есть следующий запрос к репозиторию студентов
$this->createQueryBuilder('stud')
->select('stud.name,s.sub')
->leftJoin('AppBundle:subject', 's', 'WITH', 's.student = stud.id')
->getQuery()
->getArrayResult();
Но я получаю 3 ряда с 2 рядами в виде Джона с другим сабвуфером и одним рядом с Доу. Как я могу сделать это две строки с подпрограммой в виде массива на результат? Я новичок в написании запросов. Надеюсь, что кто-то может помочь
Получение результата
array:3 [▼
0 => array:2 [▼
"name" => John
"sub" => maths
]
1 => array:2 [▼
"name" => John
"sub" => eng
]
2 => array:2 [▼
"name" => Doe
"sub" => null
]
]
Ожидаемый результат
array:2 [▼
0 => array:2 [▼
"name" => John
"sub" => array:2['eng','maths']
]
2 => array:2 [▼
"name" => Doe
"sub" => null
]
]