添加数据
最后更新于:2022-04-01 21:20:31
|版本|调整功能|
|---|---|
|5.0.10|`insertAll`方法支持`replace`参数|
|5.0.5|添加`data`/`inc`/`dec`/`exp`方法设置数据|
## 添加一条数据
使用 `Db` 类的 `insert` 方法向数据库提交数据
~~~
$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::table('think_user')->insert($data);
~~~
如果你在` database.php`配置文件中配置了数据库前缀(`prefix`),那么可以直接使用 `Db` 类的 `name` 方法提交数据
~~~
Db::name('user')->insert($data);
~~~
> insert 方法添加数据成功返回添加成功的条数,insert 正常情况返回 1
添加数据后如果需要返回新增数据的自增主键,可以使用`getLastInsID`方法:
~~~
Db::name('user')->insert($data);
$userId = Db::name('user')->getLastInsID();
~~~
或者直接使用`insertGetId`方法新增数据并返回主键值:
~~~
Db::name('user')->insertGetId($data);
~~~
> insertGetId 方法添加数据成功返回添加数据的自增主键
## 添加多条数据
添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据即可
~~~
$data = [
['foo' => 'bar', 'bar' => 'foo'],
['foo' => 'bar1', 'bar' => 'foo1'],
['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);
~~~
> insertAll 方法添加数据成功返回添加成功的条数
### 助手函数
~~~
// 添加单条数据
db('user')->insert($data);
// 添加多条数据
db('user')->insertAll($list);
~~~
### 快捷更新
`V5.0.5+`以上版本封装的快捷更新方法`data`,可以配合`insert`使用。
下面举个例子说明用法:
~~~
Db::table('data')
->data(['name'=>'tp','score'=>1000])
->insert();
~~~
';