ci4中新增数据库记录最简方式是使用model类的insert()方法或database builder的insert()方法;前者需先创建对应model并加载,后者可直接连接数据库操作,均支持获取自增id、字段校验及批量插入。

CI4(CodeIgniter 4)中新增数据库记录最简调用,核心是使用 Model 类配合 insert() 方法,无需手动写 SQL,也不需提前实例化数据库连接。
使用内置 Model 快速插入
前提是已创建对应数据表的 Model(如 UserModel),且已正确配置数据库连接和表名。
- 在控制器中加载 Model:
$userModel = new UserModel(); - 准备数据数组:
$data = ['name' => '张三', 'email' => 'zhang@example.com']; - 执行插入:
$userModel->insert($data); - 插入成功后,
$userModel->getInsertID()可获取自增主键值
不依赖 Model 的极简方式(适合临时操作)
若未建 Model 或只需单次插入,可直接用 Database Builder:
$db = \Config\Database::connect();$db->table('users')->insert(['name' => '李四', 'email' => 'li@example.com']);- 同样可用
$db->insertID()获取新记录 ID
注意字段与验证
CI4 默认不对插入数据做自动过滤或验证,需自行保障字段安全:
- 确保数组键名与数据库字段名完全一致(区分大小写)
- 避免传入非法字段(如 id、created_at 等受保护字段,除非明确允许)
- 如需自动填充时间戳,可在 Model 中设置:
protected $useTimestamps = true;
批量插入也只需一行
一次插入多条记录同样简洁:
$users = [['name'=>'王五','email'=>'w@example.com'], ['name'=>'赵六','email'=>'z@example.com']];$userModel->insertBatch($users);- 返回插入行数,不支持获取多个 ID











