Как Yii Gii обнаруживает MANY_MANY? - PullRequest
0 голосов
/ 29 января 2012

Моя структура базы данных имеет несколько ссылок MANY_MANY.Однако Gii (в моем случае giix) не всегда генерирует их как MANY_MANY, вместо этого он генерирует HAS_MANY с объединенной таблицей.

Существуют ли правила, чтобы убедиться, что Gii правильно устанавливает отношения?Это смотрит на название столбцов?Названия таблиц?Индексы?Имена внешних ключей?Что если в объединенной таблице есть другие столбцы?

Ответы [ 2 ]

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

Gii на самом деле проверяет каждую таблицу на наличие таблиц соединений (см. ModelCode::isRelationTable() в gii / generators / model).Таблица обнаруживается как таблица объединения, если:

  • Таблица имеет 2 столбца
  • Оба столбца являются внешними ключами
  • Внешние ключи указывают на разные таблицы

Затем Gii создает отношения «многие ко многим» между участвующими моделями.

0 голосов
/ 16 апреля 2013

Gii создает много отношений один-ко-многим (1: n) self :: BELONGS_TO + self :: HAS_MANY в моделях self :: MANY_MANY нужен типвручную

...