有没有办法在PHP的postgre结果中获取每列的表名?
想象一下,你有一个带连接的选择,例如:
$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是否将此信息提供给客户端库?要做到这一点需要做些什么?
感谢任何提示,
米甲