Расстегнуть строки Mysql, которые содержат родительский / дочерний элемент в PHP объекты - PullRequest
1 голос
/ 02 ноября 2011

Есть ли у них что-то, что может «раскрепостить» результаты запроса SQL / MySQL в массив объектов PHP, создавая структуру родительских и дочерних отношений?

Часто я обнаруживаю, что выполнение запросов к моей базе данных для быстрого результата родитель / потомок должно быть выполнено с двумя запросами. Один, чтобы схватить родителей, другой, чтобы схватить детей. Для сложных запросов это иногда может быть немного медленным (даже при правильной индексации и т. Д.).

Гораздо быстрее просто заразить БД одним запросом - и получить данные моего родителя / ребенка в одном ответе. Интересно, есть ли общий способ объединить вещи, потому что я хотел бы делать это чаще ...

Простой пример:

SELECT CountryID, Country, CityID, City FROM country INNER JOIN city ON city.CountryID = country.CountryID ORDER BY CountryID

Результаты запроса:

1, США, 50, Нью-Йорк

1, США, 51, Лас-Вегас

2, Австралия, 52, Сидней

И потом объектная структура будет (я только что разбил ее в формате XML для удобства чтения структуры объекта, которую я надеюсь получить):

<Results>
  <Country ID="1" Name="USA">
   <Children>
    <City ID="50" Name="New York"/>
    <City ID="51" Name="Las Vegas"/>
   </Children>
  <Country ID="2" Name="Australia"/>
   <Children>
    <City ID="52" Name="Sydney"/>
   </Children>
  </Country>
</Results>

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

Ура, Люк!

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