zend框架表关系,参考Map &依赖表

发布于 2024-12-25 20:17:15 字数 1413 浏览 2 评论 0原文

我是 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 应该说什么,以及我是否需要在两个类中或仅在一个类中声明它们?

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

任何帮助表示赞赏。

I'm new to zend framework, i'm trying to understand how table relationships work. I have two tables and i'm trying to link them and get their data in a list.

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;

In my relationship table class, I have:

class Relationship_Table extends Zend_Db_Table_Abstract
{
    protected $_rowClass = 'Relationship';
    protected $_name = 'relationship';

In my relationship group table class I have:

class Relationship_Group_Table extends Zend_Db_Table_Abstract
{
protected $_name = 'relationship_group';
protected $_rowClass = ' Relationship_Group';

I am not sure what my $_referenceMap and $_dependentTables should say, and if I need to state them in both classes or just one?

Also how do I get a list from my relationships table with the corresponding relationship_group data included.

Any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一念一轮回 2025-01-01 20:17:15

这是关于表关系的一个很好的入门。
马特·麦考米克关于 Zend Framework 中的表关系

您的问题的实际答案是:

  • 这取决于您需要完成什么以及您希望如何完成它。

Here is a pretty good primer on table relationships.
Mat McCormisck on Table relationships in Zend Framework

The actual answer to your question is:

  • It depends on what you need to accomplish and how do you want to accomplish it.
川水往事 2025-01-01 20:17:15

您的情况不需要 $_dependentTables (使用 InnonDB)。

Zend 参考

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

声明$_referenceMap 应将从属表中的 FOREIGN KEY 链接到父表中的 PRIMARY KEY,并且仅在从属表中需要它。

其余的正如 RockyFord 在他的链接中建议的那样:)。

$_dependentTables aren't required in your case (using InnonDB).

Zend References

Note: Skip declaration of $_dependentTables if you use referential integrity constraints in the RDBMS server to implement cascading operations

Your $_referenceMap should link FOREIGN KEY in a dependent table to the PRIMARY KEY in the parent table and it's only required in the dependent table.

The rest is as RockyFord suggested in his link :).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文