Setor
Новичок
Получение информации по колонкам результата запроса с исп. нескольких таблиц
Быть может изобретаю велосипед, недавно мне пришла в голову идея группировки каждого результата запроса по названиям таблиц.
Например, имеется запрос:
Требуется получить:
Для чего мне это нужно: выборка данных из нескольких таблиц 1м запросом, полученный результат надо разбить по принадлежности к таблице, чтобы этими данными инициализировать объекты. Например, для отображения списка заказов требуется выводить как информацию по заказу, так информацию о пользователе, оформившим заказ. Есть объекты "Заказ" и "Пользователь", требуется их инициализировать необходимыми данными из таблицы заказов и таблицы пользователей. Можно было вручную указать, какими данными будут инициализированы объекты, но это рутина, было решено автоматизировать.
Реализовал при помощи mysqli. После выполнения запроса вызывается метод mysqli_fetch_fields, который предоставляет всю необходимую информацию о каждом поле результирующего набора данных. В перспективах внедрения PDO - аналогичного метода в нём не нашёл. Интересно, откуда mysqli_fetch_fields получает свои данные и используется-ли подобная техника в ORM-системах?
Быть может изобретаю велосипед, недавно мне пришла в голову идея группировки каждого результата запроса по названиям таблиц.
Например, имеется запрос:
PHP:
SELECT A.`field1`, A.`field2`, B.`field3`, B.`field4` FROM `table1` A, `table2` B WHERE A.`key` = B.`key`
PHP:
array(
'A' => array( 'field1' => value, 'field2' => value ),
'B' => array( 'field3' => value, 'field4' => value ),
);
Реализовал при помощи mysqli. После выполнения запроса вызывается метод mysqli_fetch_fields, который предоставляет всю необходимую информацию о каждом поле результирующего набора данных. В перспективах внедрения PDO - аналогичного метода в нём не нашёл. Интересно, откуда mysqli_fetch_fields получает свои данные и используется-ли подобная техника в ORM-системах?