构造器的增删改
新增
php
//新增一条记录
DB::table('user')->insert([
'name' => '曹操',
]);
// insert into `user` (`name`) values (?)
//新增多条记录
DB::table('user')->insert([
['name' => '刘备'],
['name' => '关羽'],
['name' => '张飞']
]);
// insert into `user` (`name`) values (?), (?), (?)
// 忽略重复新增数据的错误
DB::table('user')->insertOrIgnore([
'id' => 1,
'name' => '李白'
]);
// insert ignore into `user` (`id`, `name`) values (?, ?)
//获取新增后返回的 ID
$id = DB::table('user')->insertGetId([
'name' => '李白'
]);
// insert into `user` (`name`) values (?)
更新
php
//更新修改一条数据
DB::table('user')->where('id', 10)
->update([
'name' => '李红',
]);
// update `user` set `name` = ? where `id` = ?
//参数 1:修改的条件
//参数 2:修改的内容(新增的内容)
DB::table('user')->updateOrInsert(
['id'=>11],
['name'=>'李黑']
);
// select exists(select * from `user` where (`id` = ?)) as `exists`
// 不存在
// insert into `user` (`id`, `name`) values (?, ?)
// 存在
// update `user` set `name` = ? where (`id` = ?) limit 1
//新增时,转换为 json 数据
DB::table('user')->insert([
'name' => json_encode(['age'=>19, 'name'=>'孙权'], JSON_UNESCAPED_UNICODE)
]);
//修改时,使用 object->id 指定
DB::table('user')->where('id', 13)
->update([
'name->age' => 20
]);
// update `user` set `name` = json_set(`name`, '$."age"', ?) where `id` = ?
//默认自增/自减为 1,可设置
DB::table('user')->where('id', 1)->increment('age');
// update `user` set `age` = `age` + 1 where `id` = ?
DB::table('user')->where('id', 2)->decrement('age', 2);
// update `user` set `age` = `age` - 2 where `id` = ?
删除
php
// 删除一条数据
DB::table('user')->delete(1);
// delete from `user` where `user`.`id` = ?
DB::table('user')->where('id', 2)->delete();
// delete from `user` where `id` = ?
// 清空
DB::table('user')->delete();
// delete from `user`
DB::table('user')->truncate();
// truncate table `user`