问题背景: 在写一个外卖demo的库存定时更新操作时,规格下有每日库存和每日最大库存2个字段。每天定时十二点,需要用每日最大库存字段更新到每日库存字段。
一开始,我只顾着看你,装作不经意心却飘过去。%…!@#…&*()( 啊哼,不好意思走偏了。

//第一步,查数据
$skuData = DB::table('goods_sku')->where('id',$skuId)->first();
//第二步,更新
$updateData = [
'stock_daily'=>$skuData->stock_daily_max,
];
$update = DB::table('goods_sku')->where('id',$skuId)->update($updateData);
脚趾一想。嗯,这似乎能达到果效,但秉承laravel一贯的优雅代码风格,这画风好像有点不对啊。这回换手指头,于是掐指一想,能不能一次查询搞定?

于是翻箱倒柜,终于让我找到优雅而不失风骚的写法:
$update = DB::table('goods_sku')->where('id',$skuId)->update(['stock_daily'=>DB::raw('stock_daily_max')]);
嗯,终于,基本上满意,(幸好幸好,手指再想不出来,不是要暴露我没脑的问题了);

*小白日志,如有错误,还望指出,改不改就是我的事了[手动斜眼笑]*😏