Связи таблицы Zend Framework, ReferenceMap и зависимых таблиц - PullRequest
0 голосов
/ 09 января 2012

Я новичок в Zend Framework, я пытаюсь понять, как работают отношения между таблицами. У меня есть две таблицы, и я пытаюсь связать их и получить их данные в списке.

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, и нужно ли мне указывать их в обоих классах или только в одном?

Кроме того, как мне получить список из моей таблицы отношений с включением соответствующих данных отношений.

Любая помощь приветствуется.

Ответы [ 2 ]

2 голосов
/ 15 января 2012

Вот довольно хороший пример взаимоотношений за столом. Мат МакКормиск о связях таблиц в Zend Framework

Фактический ответ на ваш вопрос:

  • Это зависит от того, что вам нужно сделать и как вы хотите это сделать.
0 голосов
/ 12 июня 2012

$_dependentTables не требуется в вашем случае (с использованием InnonDB).

Zend References

Примечание: пропустить объявление $_dependentTables, если вы используете ограничения ссылочной целостности на сервере RDBMS для реализации каскадных операций

Ваш $_referenceMap должен связать FOREIGN KEY в зависимой таблице с PRIMARY KEY в родительской таблице, и это требуется только в зависимой таблице.

Остальное, как предложил RockyFord в своей ссылке:).

...