2016-05-26 3 views
1

В базе данных перечислены позиции и их количество. Когда кто-то покупает элементы, я хочу обновить количество акций в базе данных.Вычитание в отчете SQL для акций

Независимо от следующего вычитания f_item_number = f_item_number - $mugAmount, инструкция по обновлению не работает.

Если у меня есть 200 кружек в базе данных. Когда я запускаю следующий оператор, новая сумма кружки отображается некорректно после -1. Вместо ожидаемого значения 199. Почему это?

DB::update('UPDATE `shop_items` SET `f_item_number` = ? WHERE `f_item_name` = ?', array(`f_item_number` - $mugAmount, "mug")); 
+2

Когда кто-то дает ответ, который является решением, вы можете «проверить» ответ (под рейтингом ответа). Затем вопрос будет отмечен как решенный :). Я также вижу, что у вас есть другие вопросы, когда вы еще не приняли лучший ответ. – Patrick2607

ответ

2

Вы не можете передать текст столбца базы данных в параметрах. Попробуйте это

DB::update('UPDATE `shop_items` SET `f_item_number` = `f_item_number` - ? WHERE `f_item_name` = ?', array($mugAmount, "mug")); 
+0

Работает отлично. Большое спасибо – divHelper11

Смежные вопросы