mysql — вычитает значение из столбца в конструкторе запросов php топлива.

Я попытался вычесть числовое значение из одного столбца в конструкторе запросов FuelPHP.

Это вот так.

update item set price = price - 1000;

И я написал такие коды:

$query = DB::update('item')->set(array('price'=>'price'-1000));

Тем не менее, это не вычитает 1000 из цены, и этот результат всегда «цена: -1000».

Как мне решить это?

2

Решение

В качестве альтернативы, вы можете использовать / цепочку ->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)
))
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]