我是zend框架的新手,我正在努力理解表关系是如何工作的。我有两个表,我正在尝试链接它们并将它们的数据放在列表中。
CREATE TABLE `relationship` (
`relationship_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`relationship_name` varchar(45) NOT NULL,
`relationship_group_id` int(10) unsigned NOT NULL,
`display` int(10) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`relationship_id`),
KEY `FK_relationship_1` (`relationship_group_id`),
CONSTRAINT `FK_relationship_1` FOREIGN KEY (`relationship_group_id`) REFERENCES `relationship_group` (`relationship_group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `relationship_group` (
`relationship_group_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`relationship_group_name` varchar(45) NOT NULL,
`display` int(10) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`relationship_group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在我的关系表课程中,我有:
class Relationship_Table extends Zend_Db_Table_Abstract
{
protected $_rowClass = 'Relationship';
protected $_name = 'relationship';
在我的关系组表类中,我有:
class Relationship_Group_Table extends Zend_Db_Table_Abstract
{
protected $_name = 'relationship_group';
protected $_rowClass = ' Relationship_Group';
我不确定我的$ _referenceMap和$ _dependentTables应该说什么,如果我需要在两个类中说明它们或只是一个?
另外,如何从关系表中获取包含相应关系组数据的列表。
感谢任何帮助。
答案 0 :(得分:2)
这是关于桌子关系的非常好的入门读物。
Mat McCormisck on Table relationships in Zend Framework
您问题的实际答案是:
答案 1 :(得分:0)
$_dependentTables
(使用InnonDB)。
注意:如果在RDBMS服务器中使用参照完整性约束来实现级联操作,则跳过
$_dependentTables
的声明
您的$_referenceMap
应该将从属表中的FOREIGN KEY
链接到父表中的PRIMARY KEY
,并且仅在从属表中需要它。
剩下的就像RockyFord在他的链接中所建议的那样:)。