youngmysteriouslight
@youngmysteriouslight
ТК, ТТ, JS, FP, WM

Как в PHP достать функционально (т.е. при помощи внешнего ключа) вложенную структуру из SQL DB?

Добрый день. Я подошел к моменту, когда плоских структур не достаточно. Кажется, что вопрос простой, но ответа не нахожу и сам сообразить не могу.

Есть две таблицы A(id,b,x,y,...) и B(id,z,...), одна содержит внешний ключ от другой: A.b -> B.id.
Хотелось бы сформировать массив элементов A, в котором значение поля b каждого элемента было бы массивом из элементов B с id=<значение атрибута b рассматриваемого элемента из A>.

Очевидно решение состоит в том, чтобы вытянуть таблицу A в виде плоского массива, а затем пройтись циклом и для каждого элемента вытянуть из таблицы B элементы с id=<значение поля b> и заменить полученным массивом значение поля b. Очевидны недостатки: огромное количество запросов к БД.

Есть ли какое-то хорошее решение, особенно не требующее велосипедостроительства и хорошо масштабируемое при изменении схемы БД (добаление полей, добавление функциональных связей A->C и B->D)?
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ответы на вопрос 1
inoise
@inoise
Solution Architect
ORM и DAO пользоваться не пробовали? Doctrine, Active Record и иже с ним?) Когда люди говорят о том что им чего-то не хватает в SQL начинается нервным смешок по тому что всегда есть NOSQL, но проектирование структур данных все-равно происходит примерно также
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
SaveTime Москва
от 140 000 до 200 000 руб.
Интерно Ростов-на-Дону
от 35 000 до 50 000 руб.
20 янв. 2019, в 13:50
15000 руб./за проект
20 янв. 2019, в 09:57
10000 руб./за проект
20 янв. 2019, в 07:18
15000 руб./за проект