2012-02-06 4 views
1

Я новичок в Yii здесь. В документации, по-видимому, подразумевается, что gii создаст отношения для связанных моделей. Но при использовании gii для генерации моделей из БД это, похоже, не так. Например, у меня есть таблица пользователя и таблица профилей со столбцом «user_id INTEGER DEFAULT 0», но массив отношений пуст в сгенерированной модели. Я сделал что-то не так, или gii просто не распознает отношения автоматически? Спасибо,gii автоматически создает отношения для сгенерированных моделей?

+4

если вы определяете отношения в базе данных, да будет –

+3

ли ограничение внешнего ключа в база данных установлена ​​правильно? 'user_id INTEGER DEFAULT 0' для меня не означает, что есть ограничение внешнего ключа в этом поле –

+0

awesome, спасибо! Я думал, что yii выведет из названия колонки (из CakePHP) –

ответ

1

Gii может автоматически создавать отношения для сгенерированных моделей, если соответствующие таблицы в вашей БД имеют внешние ключи, но не все механизмы хранения поддерживают внешние ключи. Например, если вы используете таблицы MyISAM в MySQL, у вас нет способа определить его.

3

Gii создаст отношения для таблиц MyISAM, если вы включите формат, как следующее в комментарии ссылочных столбцов:

CONSTRAINT FOREIGN KEY (name_of_this_field) REFERENCES related_table_name(related_field_name)