勾股OA在线文档

添加数据

添加一条数据

可以使用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);