添加数据
添加一条数据
可以使用save()
方法统一写入数据,save会自动判断是新增还是更新数据(以写入数据中是否存在主键数据为依据)。
$data = ['name' => '勾股OA', 'title' => '勾股OA文档'];
Db::name('Admin')->save($data);
或者使用 insert()
方法向数据库提交数据
$data = ['name' => '勾股OA', 'title' => '勾股OA文档'];
Db::name('Admin')->insert($data);
ps: insert
方法添加数据成功返回添加成功的条数,通常情况返回 1
如果数据表里面没有name或者title字段,那么就会抛出异常,如果不希望抛出异常,可以使用strict
声明一下,这样不存在字段的值将会直接抛弃,如:
$data = ['name' => '勾股OA', 'title' => '勾股OA文档'];
Db::name('Admin')->strict(false)->insert($data);
添加数据后如果需要返回新增数据的自增主键值
,可以使用insertGetId()
方法新增数据并返回主键值:
$data = ['name' => '勾股OA', 'title' => '勾股OA文档'];
Db::name('Admin')->strict(false)->insertGetId($data);
insertGetId 方法添加数据成功返回添加数据的自增主键
添加多条数据
添加多条数据直接向 Db
类的 insertAll()
方法传入需要添加的数据(通常是二维数组)即可。
$data = [
['name' => '勾股OA', 'title' => '勾股OA文档'],
['name' => '勾股CMS', 'title' => '勾股CMS文档'],
['name' => '勾股BLOG', 'title' => '勾股BLOG文档']
];
Db::name('Admin')->insertAll($data);
insertAll方法添加数据成功后,返回添加成功的条数。
如果批量插入的数据比较多,可以指定分批插入,使用limit方法指定每次插入的数量限制。
// 分批写入 每次最多100条数据
$data = [
['name' => '勾股OA', 'title' => '勾股OA文档'],
['name' => '勾股CMS', 'title' => '勾股CMS文档'],
['name' => '勾股BLOG', 'title' => '勾股BLOG文档'],
...
];
Db::name('Admin')->insertAll($data);