0. 前言
1. Db类操作数据库
1.1 新增
$data = ['username' => 'bar', 'password' => 'foo'];
$res = Db::name('user')->insert($data);
返回值:
- 成功:返回
1
- 失败:抛出
异常
1.2 更新
// 方式1:save方法包含主键
$res = Db::name('user')->save(['id' => 7, 'username' => 'thinkphp1']);
// 方式2:update方法where条件更新
$res = Db::name('user')->where('id', 7)->update(['username' => 'thinkphp']);
// 方式3:update方法包含主键
$res = Db::name('user')->update(['username' => 'thinkphp','id' => 1]);
返回值:
- 成功:返回
1
- 失败:若没有发生更新则返回
0
;若更新字段数据表不存在抛出异常
1.3 删除
1.3.1 单条删除
// 根据主键删除
$res = Db::name('user')->delete(7);
// 条件删除
$res = Db::name('user')->where('id',7)->delete();
返回值:
- 成功:返回
1
- 失败:返回
0
(包括id不存在)
1.3.2 批量删除
// 根据主键删除
$res = Db::name('user')->delete([11,12]);
// 条件删除
$res = Db::name('user')->where('id','>',10)->delete();
返回值:
- 成功:返回删除记录的条数
- 失败:返回
0
(包括id不存在)
1.4 查询
1.4.1 单笔记录
$res = Db::name('user')->where('id', 16)->find();
返回值:
- 成功:返回
结果数组
- 失败:返回
null
1.4.2 多笔记录
$res = Db::name('user')->where('status', 1)->select();
返回值:
- 成功:返回
数据集对象
- 失败:返回
空数据集对象
如果需要转换为数组可以使用toArray()
方法:
Db::name('user')->where('status', 1)->select()->toArray();
返回结果为数组:
2. Model模型类操作数据库
2.1 新增
$user = new UserModel;
$user->username = "aaa";
$user->password = "aaa";
$res = $user->save();
dump($res);
// 也可直接把数据写在save方法里面:
$user->save([
'username' => 'thinkphp',
'password' => '123456'
]);
返回值:
save
方法成功会返回true
,并且只有当before_insert
事件返回false
的时候返回false
,一旦有错误就会抛出异常
。所以无需判断返回类型。
2.2 更新
2.2.1 单笔更新
$user = UserModel::find(16);
$user->username = 'qwer';
$res = $user->save();
dump($res);
save
方法成功返回true
,并只有当before_update
事件返回false
的时候返回false
,有错误则会抛出异常
。
2.2.2 批量更新
$user = new UserModel;
$list = [
['id'=>16, 'username'=>'thinkphp'],
['id'=>17, 'username'=>'onethink']
];
$res = $user->saveAll($list);
dump($res);
返回的是一个
数据集对象
2.3 删除
2.3.1 删除模型
$user = UserModel::find(16);
$res = $user->delete();
dump($res);
删除成功返回
true
,失败可能抛出异常
2.3.2 根据主键删除
User::destroy(1);
// 支持批量删除多个数据
User::destroy([1,2,3]);
主键不存在也返回
true
2.3.3 条件删除
User::where('id','>',10)->delete();
返回删除的
记录数
2.4 查询
2.4.1 单笔记录
$user = UserModel::find(18);
// where查询
$user = UserModel::where('username', 'aaaa789')->find();
返回
模型数据
,数据在data参数中;若查询失败返回null
2.4.2 多笔记录
$users = UserModel::select([18,19]);
// where查询
$users = UserModel::where('status', 1)->select();
返回
模型集合
;若数据不存在返回空模型集合
转载:https://blog.csdn.net/zy1281539626/article/details/112133685
查看评论