laravel:如何在更新行时将列的当前值乘以某个值?

时间:2016-01-04 07:22:25

标签: php mysql laravel laravel-5 eloquent

问题:

我想更新两列mysql表,

column1递减一些值,column2乘以某个值,

我已经完成了here

这样的减量

的尝试:

$stock_obj->decrement('quantity_on_hand', $product_data["quantity"], array(
    'total_quantity_on_hand' => 'quantity_on_hand' * some_other_value
));

这里减量工作但我怎么做乘法?

我在CI(CodeIgniter)中有这个解决方案但是不知道如何在laravel中做任何帮助都会受到赞赏......

CI(CodeIgniter)WAY:

$this->db->set("quantity_on_hand", "quantity_on_hand-" . ($product_data["quantity"] ? $product_data["quantity"] : 0), FALSE);
$this->db->set("total_quantity_on_hand", "quantity_on_hand*" . ($product_data['product_packing_value'] ? $product_data['product_packing_value'] : 1), FALSE);
$this->db->where("id", $warehouse_transfer_product_data['stock_id'])->update("stock");

1 个答案:

答案 0 :(得分:4)

以下应该可以解决问题:

DB::table('your_table')
->where('some_column', $someValue)
->update(array(
    'column1' => DB::raw('column1 * 2'),
    'column2' => DB::raw('column2 - 1'),
));