Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Zend框架中获取表外键?_Php_Sql Server_Zend Framework_Zend Db Table - Fatal编程技术网

Php 如何在Zend框架中获取表外键?

Php 如何在Zend框架中获取表外键?,php,sql-server,zend-framework,zend-db-table,Php,Sql Server,Zend Framework,Zend Db Table,我可以通过写入以下内容获取包含列类型信息的表列: $table = new Zend_Db_Table('schema.table_name'); $info = $table->info(); 有关于主键的信息,但没有关于外键的信息 请帮忙 您的评论者所说的是,Zend Framework 1x没有关于Zend\u Db\u Table\u Abstract类可用的外键或索引的信息 您需要定义一个,以便信息可用。如果数据库适配器可以使用这些信息,那就太好了。不过,我敢肯定,在不同的数据

我可以通过写入以下内容获取包含列类型信息的表列:

$table = new Zend_Db_Table('schema.table_name');
$info = $table->info();
有关于主键的信息,但没有关于外键的信息


请帮忙

您的评论者所说的是,Zend Framework 1x没有关于
Zend\u Db\u Table\u Abstract
类可用的外键或索引的信息


您需要定义一个,以便信息可用。如果数据库适配器可以使用这些信息,那就太好了。不过,我敢肯定,在不同的数据库和不同的数据库引擎中,这些信息的可用性是不均衡的。

对于表,您可以尝试使用简单的查询,如

use INFORMATION_SCHEMA;

select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where
REFERENCED_TABLE_NAME = '<table>';
使用信息模式;
选择表名称、列名称、约束名称、,
引用的\u表\u名称,引用的\u列\u名称来自键\u列\u用法,其中
引用的_表_名称=“”;

对于表列,相同,但为引用的列名称添加and。

()descibes
referenceMap
提供外键信息。()这是一个例子。如果您在代码中定义了这种关系,这种方法就可以工作。在我的情况下,关系没有定义,所以如果我能从DB得到FK就好了。然后,伙计,它不再工作了,我想好的,谢谢!将搜索可以在MSSQL中执行该操作的db查询