我尝试从 FuelPHP 查询生成器中的一列中减去一个数值。
就像这样。
update item set price = price - 1000;
我写了这样的代码:
$query = DB::update('item')->set(array('price'=>'price'-1000));
但是,这不会从价格中减去 1000,并且结果始终为“价格:-1000”。
我该如何解决这个问题?
最佳答案
或者,您可以在查询生成器中使用/chain ->value()
并在此基础上使用 DB::expr()
。
示例:
$value = 1000;
$query = DB::update('item')
->where('product_id', 999)
->value('price', DB::expr('price - ' . $value)) // i prefer using this, much more straightforward
->execute(); // DONT FORGET TO EXECUTE!
或者使用 ->set()
如果您决定真正使用多个字段:
->set(array(
'price' => DB::expr('price - ' . $value)
))
关于php - 从 Fuel PHP 查询生成器中的列中减去一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26644614/