1. 数据库准备
(1) 首先我们建一数据库 yii2test
并建立一张表如下:
DROP TABLE IF EXISTS `posts`;
CREATE TABLE `posts` (
`post_id` int(10) NOT NULL AUTO_INCREMENT,
`post_title` varchar(100) NOT NULL DEFAULT '',
`post_desc` text,
`author_id` int(10) NOT NULL,
PRIMARY KEY (`post_id`),
KEY `userid` (`author_id`),
CONSTRAINT `userid` FOREIGN KEY (`author_id`) REFERENCES `users` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
(2) 我们将vhosts 指向 yii的解压目录的 basic 文件夹
配置 我们的数据库
找到文件:/basic/config/db.php
将相应的配置填入下面的配置中 保存
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2test',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
];
第一步 OK
2. 配置vhosts(此步可忽略)
我们将vhosts 文件配置到 basic 文件夹
配置的hosts 为 http://www.yiitest.com/
那么我们可以直接访问
http://www.yiitest.com/web/index.php?r=gii
进入如图1 的界面
3. 生成模型代码
点击 Model Generator 下方的 start按钮
进入模型生成界面
如图2 填入对应的表名 和 模型名
这里我直接全用 posts 点 preview按钮
会生成模型文件 models\Posts.php
注意文件所在的目录权限 必须是 可写的 不然 会生成失败
4. 生成 crud 文件
点击对应的 crud generator 菜单
填入对应的信息:
model class: app\models\Posts
serch model class : app\models\PostsSearch
controller class : app\controllers\PostsController
如图3 点击 preview 然后 点击 generate 按钮自动生成
此时会自动生成 所有的控制器和 对应的模型文件 以及相应的视图 文件 如图4
5. 访问生成的控制器
http://www.yiitest.com/web/index.php?r=posts
如图6 create posts 按钮创建 对应的记录表单
下面的输入框 则是用来搜索相应的记录的
输入对应的值 会自动过滤
自此,一个完整的自动生成的例子就是这样,样式什么的可以自己去设置。