1

我正在使用 Yii 框架,但我遇到了 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 生成器创建的表中查看用户名。如何更改代码以获得上述结果?

4

1 回答 1

0

首先,user_id需要是一个外键字段,而不仅仅是一个字段。

其次,gii 默认不会生成你需要的字段。对于此类功能,Giix 之类的扩展可能会有所帮助。但是,由于存在关系,您始终可以使用relationName.usernameusername在网格视图或列表视图中显示。

于 2013-08-28T21:37:40.970 回答