Php zend framework表关系、referenceMap&;家属

Php zend framework表关系、referenceMap&;家属,php,zend-framework,zend-db,zend-db-table,Php,Zend Framework,Zend Db,Zend Db Table,我是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,

我是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';
我不确定我的$\u referenceMap和$\u dependenttable应该说什么,我是否需要在两个类中都声明它们,还是只在一个类中声明它们

另外,如何从关系表中获取包含相应关系组数据的列表


非常感谢您的帮助。

这是一本关于表关系的非常好的入门书

你的问题的实际答案是:

  • 这取决于你需要完成什么,以及你想如何完成

$\u您的案例中不需要依赖项(使用InnonDB)

注意:如果在RDBMS服务器中使用引用完整性约束来实现级联操作,请跳过
$\u依赖项的声明

您的
$\u referenceMap
应该将从属表中的
外键
链接到父表中的
主键
,并且它仅在从属表中是必需的


其余内容如RockyFord在其链接中所建议的:)。

+1,感谢您发表非常有趣的博文。这消除了我的疑虑:)