二十二、ThinkPHP6_模型的数据更新

  1. 使用 find() 方法获取数据,然后通 save() 方法保存修改,返回布尔值
$user = UserModel::find(11);
$user->name='王一';
$user->save():
//或
$user = UserModel::where('name','李小小')->find();
$user->name='王一';
$user->save():
  1. save() 方法只会更新变化的数据,如果提交的修改数据没有变化,则不更新,而force() 可实现强制更新数据,即使数据一样。
$user->force()->save();
  1. 使用 Db::raw() 执行 SQL 函数的方式
$user->price = Db::raw('price+1');
  1. allowField() 方法,允许要更新的字段,其它字段就无法写入
//有个问题,使用了Db::raw() ,allowField() 不能限制住;
$user->name ='wang';
$user->price= Db::raw('price+1');
$user->allowField(['name','email'])->save();
  1. 通过 saveAll() 方法,可以批量修改数据,返回被修改的集合,saveAll() 只能通过主键 id 更新
$list=[
	['id'=>3,'name'=>'张1']//id 必须有
	['id'=>4,'name'=>'汪2']
];
$user->saveAll($list);
//方法1
UserModel::update(['id'=>3,'name'=>232432]);//必须有id
//方法2
UserModel::update(['name'=>23423],['id'=>4]);//参数2 是条件
//方法3
UserModel::update(['name'=>'wrw23'],['id'=>4],['name','code']);//参数3 限制更新字段

模型的新增和修改都是 save() 进行执持的,它采用了自动识别体系来完成,实例化模型后调用save()方法表示新增,查询数据后调用save() 表示修改,如果在save() 传入更新修改条件后也表示修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值