Обновить запрос, используя динамические данные в Zend?

Я использую Zend, у меня есть следующий код, как

class Admin_Model_DbTable_Inv extends Zend_Db_Table_Abstract
{
    protected $_name = 'test';
    public function updateproductstock($qty,$pid)
    {
        $data = array(
            'stock' => 'stock - 2'
        );
        $this->_db->update($this->_name, $data, product = '.$pid.');
    } 
}

Здесь я хочу вычесть кол-во из запаса. Например, 2 будет кол-во. qty будут динамические данные. Как я могу использовать Zend Update здесь. любезно помогите.

Обновил мой пост

2 ответа

Решение
 class Admin_Model_DbTable_Inventory extends Zend_Db_Table_Abstract
 {
     protected $_name = 'test';

     public function updateproductstock($qty,$pid)
     {
         $data = array(
             'stock' => new Zend_Db_Expr('stock - '.$qty);
         );
         $this->_db->update($this->_name, $data, product = '.$pid.');
     }
 }
 class Admin_Model_DbTable_Inv extends Zend_Db_Table_Abstract
 {
     protected $_name = 'test';

     public function updateproductstock($qty)
     {           
         $r = $this->fetchRow($this->select()->where('product  = ?', 1));
         $r->stock -= $qty;
         $r->save();
         $data = array(
             'stock' => 'stock - '.(string) $qty;
         );
         $this->_db->update($this->_name, $data, "product = '1'");
     }
 }

ps: все переменные должны иметь префикс $

Другие вопросы по тегам