数据修改
- 使用update()方法来修改数据,修改成功返回影响行数,没有修改则返回0
$data = [
'email' => 'zqx@qq.com'
];
return Db::name('user')->where('id',12)->update($data);
- 如果修改数据包含了主键信息,比如id,那么可以省略掉where条件
$data = [
'id' => '11',
'email' => 'tl@qq.com'
];
return Db::name('user')->update($data);
- 如果想让一些字段修改时执行sql函数操作,可以使用exp()方法实现
Db::name('user')
->where('id',1)
->exp('name','UPPER(name)')
->update();
UPDATE 'think_user' SET 'name' = UPPER(name) WHERE 'id' = 1
- 如果要自增/自减某个字段,可以使用inc/dec方法,并支持自定义步长
return Db::name('user')->where('id',1)->inc('price')->update();
return Db::name('user')->where('id',1)->dec('price')->update();
- 使用::raw()方法可以实现数据修改、sql函数的操作和自增自减
Db::name('user')->where('id',13)
->update([
'email' => Db::raw('upper(email)'),
'price' => Db::raw('price + 1')
]);
- 使用save()方法进行修改数据,必须制定主键才能实现修改功能
return Db::name('user')->where('id',14)->save([
'username' => '张三',
'email' => 'zs@qq.com'
]);
数据删除
- 根据主键删除单条数据,删除成功返回影响行数,否则为0
Db::name('user')->delete(14);
Db::name('user')->delete([12,13,14]);
Db::name('user')->where('id',14)->delete();
Db::name('user')->delete(true);