Поместить информацию «один ко многим» из объединений в подмассивы - PullRequest
0 голосов
/ 31 октября 2018

У меня есть две таблицы, первая из которых выглядит примерно так:

customer
----------
id
name
age
sex

И еще одна таблица, которая выглядит так:

phone
---------
id
customer_id
number
ext
phone_type

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

id  name   age   sex   number     ext  phone_type
---------------------------------------------------
1   Bob    36    M     555-4343   3    office
1   Bob    36    M     555-1111        mobile
2   Sue    23    F     123-4444   42   office
2   Sue    23    F     123-2222        home
2   Sue    23    F     123-1111        mobile

Используя PHP, я хотел бы получить эти строки в более удобной структуре данных. Вместо того, чтобы иметь ассоциативный массив с 5 строками, я хотел бы иметь ассоциативный массив с 2 строками, один для Боба и один для Сью. Затем в каждой строке будет поле под названием «телефон», содержащее массив со всеми телефонными номерами клиента.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...