1、查找订单详情中订单id为238的订单,在规格表中对应到此规格库存stock减去订单详情中的num
$id = 238;
$array = [
'gs.stock' => Db::raw('gs.stock - gd.num'),
];
$goodsspec = Db::name('goodsspec gs')->join('goodsorderdetail gd','gs.id = gd.spec_id')->where('gd.gd_id',$id)->strict(false)->update($array);2、根据订单表的id减少user表的总数量,增加coupon表的使用数量,修改couponrecord表的is_used字段(注意所有表join必须是一条记录不能多条)
// 处理现金券的各个字段
$updateArr = [
'cr.is_used' => 1,
'co.use_num' => Db::raw('co.use_num+1'),
'u.coupon_num' => Db::raw('u.coupon_num-1'),
];
Db::name('subscribe su')->join('couponrecord cr','su.coupon_id = cr.id')->join('coupon co','co.id = cr.coupon_id')->join('user u','u.id = su.user_id')->where('su.id',$id)->update($updateArr);3、把数据表中某个字段加密为base64_encode,用于过滤emoji表情
$re2 = Db::name('goodsorder')->where('1=1')->exp('note','TO_BASE64(note)')->update();4、把数据表中某个字段解码为base64_decode,用于过滤emoji表情
$re2 = Db::name('goodsorder')->where('1=1')->exp('note','FROM_BASE64(note)')->update();