Обновить запрос, используя динамические данные в Zend? - PullRequest
1 голос
/ 04 октября 2011

Я использую 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 здесь.любезно помогите.

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

Ответы [ 2 ]

2 голосов
/ 04 октября 2011
 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.');
     }
 }
0 голосов
/ 04 октября 2011
 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: все переменные должны иметь префикс $

...