2013-08-28 3 views
1

Я использую структуру Yii, и у меня возникла проблема с генератором CRUD. У меня две таблицы, названные пользователей и новости со следующими структурами:Генератор Gii CRUD и связанные таблицы

CREATE TABLE IF NOT EXISTS `news` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `keyword` varchar(1000) COLLATE utf8_persian_ci DEFAULT NULL, 
    `user_id` tinyint(3) unsigned NOT NULL, 
    `title` varchar(100) COLLATE utf8_persian_ci DEFAULT NULL, 
    `body` varchar(1000) COLLATE utf8_persian_ci DEFAULT NULL, 
    `publishedat` date DEFAULT NULL, 
    `state` tinyint(1) unsigned DEFAULT NULL, 
    `archive` tinyint(1) unsigned DEFAULT NULL, 
    `last_modified` datetime DEFAULT NULL, 
    PRIMARY KEY (`id`), 
    KEY `news_FKIndex1` (`keyword`(255)), 
    KEY `news_FKIndex2` (`user_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=3 ; 




CREATE TABLE IF NOT EXISTS `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `username` varchar(20) NOT NULL, 
    `password` varchar(128) NOT NULL, 
    `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `lastvisit_at` timestamp NULL DEFAULT NULL, 
    `is_disabled` tinyint(1) NOT NULL DEFAULT '1', 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `username` (`username`), 
    KEY `status` (`is_disabled`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ; 

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

ответ

0

Во-первых, user_id должен быть внешнего ключа поле не только ключ поле.

Во-вторых, gii не будет генерировать поле, как вам требуется по умолчанию. Для таких функций может понадобиться расширение, такое как Giix. Однако, поскольку существует отношение, вы всегда можете использовать relationName.username для отображения username в виде сетки или в виде списка.

+1

Поскольку Gixx еще не стабилен, что вы думаете об изменении кода вручную !? Вы знаете какой-либо учебник по созданию сложных форм без использования каких-либо инструментов? –

Смежные вопросы