2013-08-28 60 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 ; 

當我使用GII我的消息表生成一個CRUD我不能看到用戶的表中的字段。而不是user_id我想查看由CRUD生成器創建的表中的用戶名。如何在代碼中進行更改以獲得上述結果?

回答

0

首先,user_id需要一個外鍵領域不只是一個關鍵場。

其次,gii不會根據您的默認要求生成該字段。對於這樣的功能,擴展如Giix可能會有所幫助。但是,由於存在關係,因此您始終可以使用relationName.username在網格視圖或列表視圖中顯示username

+1

由於Gixx尚不穩定,您有什麼想法手動更改代碼!?你知道任何有關創建複雜表單而不使用任何工具的教程嗎? –