2013-05-13 83 views
0

我可以通過書面方式獲得有關列類型的信息表中的列:如何在Zend Framework中獲取表外鍵?

$table = new Zend_Db_Table('schema.table_name'); 
$info = $table->info(); 

有一個關於主鍵的信息,但沒有關於外鍵。

請幫忙!

+0

(http://framework.zend.com/manual/1.12/en/zend.db.table.html#zend.db.table.info)descibes'referenceMap'給出外鍵信息。 – 2013-05-13 10:10:04

+0

(http://framework.zend.com/manual/1.12/en/zend.db.table.relationships.html#zend.db.table.relationships.defining)這就是它的例子 – 2013-05-13 10:11:51

+0

如果你有這個東西的話在你的代碼中定義了這種關係。在我的情況下,關係沒有定義,所以如果我可以從數據庫中獲取FK,那將會很好。 – 19th 2013-05-13 10:17:43

回答

0

您的評論者所說的是,Zend Framework 1x沒有關於Zend_Db_Table_Abstract類可用的外鍵或索引的信息。

您需要定義一個reference map以便信息可用。如果這些信息可用於數據庫適配器,那將會很好,但我相當肯定,在不同的數據庫和不同的數據庫引擎中,這些信息的可用性是不均衡的。

+0

好的,謝謝!將搜索數據庫查詢哪些可以在MSSQL中做的東西 – 19th 2013-05-13 10:34:07

+0

祝你好運!接着就,隨即。 – RockyFord 2013-05-13 10:43:08

0

的表,你可以嘗試使用像

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>'; 

簡單的查詢表列相同,但增加一個,併爲REFERENCED_COLUMN_NAME。