增加数据
插入一条
$this->set([
'name' => '张三',
'age' => 30
]);
$this->set([
'name' => '张三',
'age' => 30
], 'users');
//手动传入表名 v2.6.2起可用
$this->set([
'name' => '张三',
'age' => 30
], 'users', 'u_');
//手动传入表名,且特殊指定表前缀v2.6.5起可用
插入多条
//v2.7.9起可用
$this->setMulti(['roleid', 'area', 'nickname'], [
['role1', 'area1', 'nick1'],
['role11', 'area11', 'nick11']
]);
$this->setMulti(['roleid', 'area', 'nickname'], [
['role1', 'area1', 'nick1'],
['role11', 'area11', 'nick11']
],'user');
插入多条会自动开启事务,也就是要么全部成功要么全部失败,失败的时候返回false,成功的时候返回insertid的数组若未传入表名(v2.6.2以下版本)。这边会自动判断当前Model中有无$table 属性
,若有则自动提取$table属性
为要操作的table,若没有则自动获取model
名为表名如UserModel
对应的表名为pre_user
,建议在XxxModel
中声明$table
属性。若没传入字段名框架会自动获取表的主键名称,如线上环境有修改主键名请清空相应缓存 点击查看详情说明。若没传入前缀,框架会自动获取当前Model有无$tablePrefix
属性,若有则自动提取,若没有则使用配置文件中数据库相关配置里配置的表前缀,建议在当前模型的表前缀与配置中数据库相关配置里配置的表前缀不一样的时候在当前model中声明$tablePrefix
属性
原文: http://doc.cmlphp.com/devintro/model/mysql/fastmethod/setby.html