Php laravel用另一个字段更新一个字段
全部 我使用的是Laravel5,我的代码是这样的Php laravel用另一个字段更新一个字段,php,mysql,laravel,Php,Mysql,Laravel,全部 我使用的是Laravel5,我的代码是这样的 $assign = Assign::where('kh','=',$product->kh)->update(['plan_assign_amount' => 'ROUND(single_sales_rate*'.($skuCounts*2).')']); update `assign` set `plan_assign_amount` = ROUND(single_sales_rate*18); 这很简单,实际上在mys
$assign = Assign::where('kh','=',$product->kh)->update(['plan_assign_amount' => 'ROUND(single_sales_rate*'.($skuCounts*2).')']);
update `assign` set `plan_assign_amount` = ROUND(single_sales_rate*18);
这很简单,实际上在mysql语句中,我的sql字符串是这样的
$assign = Assign::where('kh','=',$product->kh)->update(['plan_assign_amount' => 'ROUND(single_sales_rate*'.($skuCounts*2).')']);
update `assign` set `plan_assign_amount` = ROUND(single_sales_rate*18);
但是它无法工作,所以有没有一种简单的方法来实现它?或者只使用DB:update()来运行原始sql
谢谢你的帮助 您可以使用
db::statement
、db::raw
或db::update
运行原始数据库查询,也可以尝试执行以下操作:
$assign = Assign::where('kh', '=', $product->kh)->first();
$assign->update(['plan_assign_amount' => round($assign->single_sales_rate * $skuCounts * 2)]);
您可以使用
db::statement
、db::raw
或db::update
运行原始数据库查询,也可以尝试执行以下操作:
$assign = Assign::where('kh', '=', $product->kh)->first();
$assign->update(['plan_assign_amount' => round($assign->single_sales_rate * $skuCounts * 2)]);
找到答案是
$assign = DB::table('assign')->where('kh','=',$product->kh)->update(['plan_assign_amount' => DB::raw('ROUND(single_sales_rate*'.($skuCounts*2).')')]);
那很好 找到答案是
$assign = DB::table('assign')->where('kh','=',$product->kh)->update(['plan_assign_amount' => DB::raw('ROUND(single_sales_rate*'.($skuCounts*2).')')]);
那很好 此更新是针对多行还是单个项目?什么是
$skuCounts
?此更新是针对多行还是单个项目?什么是$skuCounts
?