php - 从 Fuel PHP 查询生成器中的列中减去一个值

标签 php mysql fuelphp

我尝试从 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/

相关文章:

php - 从循环输出值导致值为零

php - 显示子域根目录下域文件夹的内容

php - Paypal "add to cart"不离开页面

php - 从我的数据库中选择

mysql - mysql 查询出了什么问题?

codeigniter - 基于一对多关系动态添加表单字段 - 有哪些框架替代方案?

php - 如何使用自动增量更新字段 CONCAT?

php - 为什么 REST Response 没有结束执行?

database - SQLSTATE[42000] : Syntax error or access violation: 1305

mysql - 数据库模式关系和例程关系的工具