yii2数据库操作三步:配置config/db.php连接数据库;用gii生成user模型类;在控制器中调用findone、find()->all()、save()、delete()完成crud,并可添加rules验证。

装好 Yii2 基础版后,想马上用数据库干活?重点就三步:配好数据库连接、生成模型类、写代码增删改查。不用等看完整文档,照着做几分钟就能跑通一条完整数据流。
一、先连上数据库
打开 config/db.php,填入你的 MySQL 信息:
-
hostname:一般填
localhost - username / password:数据库账号密码
-
database:已建好的库名,比如
myapp - 保存后,在浏览器访问
/web/index.php?r=site/about不报数据库错误,说明连上了
二、用 Gii 自动生成模型
确保 config/web.php 中已开启 Gii(开发环境下默认开启):
- 访问
/web/index.php?r=gii - 点 “Model Generator”,表名填
user(假设你有 user 表),Model Class 填User - 点击 Preview → Generate,模型文件会生成到 models/User.php
- 生成的类自动继承
ActiveRecord,已绑定表名和字段映射
三、动手写 CRUD(以 User 为例)
在任意控制器(如 SiteController)里加方法:
-
查单条:
$user = User::findOne(1); -
查全部:
$users = User::find()->asArray()->all(); -
新增:
$u = new User(); $u->name = '张三'; $u->email = 'z@x.com'; $u->save(); -
更新:
$u = User::findOne(1); $u->name = '李四'; $u->save(); -
删除:
User::findOne(1)->delete();或User::deleteAll(['status' => 0]);
四、顺手加个验证(可选但推荐)
在 models/User.php 的 rules() 方法里加:
-
['email', 'email']—— 验证邮箱格式 -
['name', 'required']—— 名字必填 - 保存前调用
$model->validate(),失败时$model->errors会返回提示
不复杂但容易忽略:每次 save 前记得检查 isNewRecord 状态,或直接用 find + 赋值方式更新,避免误插新记录。











