Laravel MySQL 中 如何修改一列的值等于另一列?
情景:修改order表的 pay_money 字段值 等于 total_price 字段的值;
问题:
- laravel 在模型中对字段类型有验证过滤,所以报错 Incorrect decimal value,如何绕过?
- update中的具体写法?
我的controllerOrder::where(['id' => 1])->update (['order_status' => 5,'pay_money' => 'total_price']);
报错:General error: 1366 Incorrect decimal value: 'total_price' for column 'pay_money' at row 1 (SQL: updateordersetorder_status= 5,pay_money=total_price,updated_at= 2017-04-14 10:44:17 where id = 1
关于 LearnKu
高认可度评论:
Order::where(['id' => 1])->update (['order_status' => 5,'pay_money' => \DB::raw('total_price')]);
Order::where(['id' => 1])->update (['order_status' => 5,'pay_money' => \DB::raw('total_price')]);
@CraryPrimitiveMan Thanks