Php 原则外键约束本地表为空

Php 原则外键约束本地表为空,php,database,doctrine,foreign-keys,dbal,Php,Database,Doctrine,Foreign Keys,Dbal,使用v2.10.2和its,我需要获得外键约束的详细信息: 本地表名 外来表名 本地和外国专栏 除了本地表名null之外,所有内容都在Doctrine\DBAL\Schema\ForeignKeyConstraint对象中设置。我怎样才能得到它 如何复制: 我有一个referenced表和一个pk主键列,还有一个referenced表和一个fk列引用referenced.pk 以下是调试脚本的主要部分: $connection=DriverManager::getConnection([

使用v2.10.2和its,我需要获得外键约束的详细信息:

  • 本地表名
  • 外来表名
  • 本地和外国专栏
除了本地表名
null
之外,所有内容都在
Doctrine\DBAL\Schema\ForeignKeyConstraint
对象中设置。我怎样才能得到它


如何复制
我有一个
referenced
表和一个
pk
主键列,还有一个
referenced
表和一个
fk
列引用
referenced.pk

以下是调试脚本的主要部分:

$connection=DriverManager::getConnection([
'url'=>'mysql://root:root@127.0.0.1:3306/fregata_来源'
]);
$foreignKeys=$connection->getSchemaManager()->listTableForeignKeys('Reference');
var_dump($foreignkey[0]);
输出:

object(Doctrine\DBAL\Schema\ForeignKeyConstraint)#10 (8) {
  ["_localTable":protected]=>
  NULL
  ["_localColumnNames":protected]=>
  array(1) {
    ["fk"]=>
    object(Doctrine\DBAL\Schema\Identifier)#11 (3) {
      ["_name":protected]=>
      string(2) "fk"
      ["_namespace":protected]=>
      NULL
      ["_quoted":protected]=>
      bool(false)
    }
  }
  ["_foreignTableName":protected]=>
  object(Doctrine\DBAL\Schema\Identifier)#12 (3) {
    ["_name":protected]=>
    string(10) "referenced"
    ["_namespace":protected]=>
    NULL
    ["_quoted":protected]=>
    bool(false)
  }
  ["_foreignColumnNames":protected]=>
  array(1) {
    ["pk"]=>
    object(Doctrine\DBAL\Schema\Identifier)#13 (3) {
      ["_name":protected]=>
      string(2) "pk"
      ["_namespace":protected]=>
      NULL
      ["_quoted":protected]=>
      bool(false)
    }
  }
  ["_options":protected]=>
  array(2) {
    ["onDelete"]=>
    NULL
    ["onUpdate"]=>
    NULL
  }
  ["_name":protected]=>
  string(18) "referencing_ibfk_1"
  ["_namespace":protected]=>
  NULL
  ["_quoted":protected]=>
  bool(false)
}

您可以看到,我为
\u localTable
属性获取
NULL
,而我希望为
引用
表提供一个标识符。我对一个SQLite数据库和一个MySQL数据库得出了相同的结果。

嗯,可能与bug有关。。。