数据修改
- 使用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);