Есть ли способ получить имя таблицы для каждого столбца в результате postgre в PHP?
Представьте, что у вас есть выбор с объединением, например:
$Q = <<<E2OD
SELECT * FROM user U
LEFT JOIN department D ON U.department_id = D.id
E2OD;
В PHP / FirebirdSQL:
$R = ibase_query($Q);
$D = ibase_fetch_row($R);
$info = ibase_field_info($R, 0);
Возвращает
Array
(
[0] => id
[name] => id
[1] => id
[alias] => id
[2] => user
[relation] => user
[3] => 8
[length] => 8
[4] => BIGINT
[type] => BIGINT
)
В PHP / PostgreSQL:
$select = $DB->query($Q);
$meta = $select->getColumnMeta(0);
Возвращает
Array
(
[pgsql:oid] => 20
[native_type] => int8
[name] => id
[len] => 8
[precision] => -1
[pdo_type] => 2
)
Как видите, нет информации о таблице, из которой столбец. Отсутствует ключ [relation] => user
или аналогичный, отображающий имя таблицы.
http://php.net/manual/en/pdostatement.getcolumnmeta.php
Может ли PHP получить эту информацию с помощью своих библиотек PG или PDO? Предоставляет ли PostgreSQL эту информацию клиентским библиотекам? Что нужно сделать, чтобы это произошло?
Спасибо за любую подсказку,
Michal