Как обновить запись таблицы базы данных в Zend?

Я использую select like this и успешно извлекает запись:

$table = new Bugs(); $select = $table->select(); $select->where('bug_status = ?', 'NEW'); $rows = $table->fetchAll($select); 

Но теперь я хочу обновить ту же запись. Например, в простой MySQL.

 UPDATE TableName Set id='2' WHERE id='1'; 

Как выполнить вышеуказанный запрос в Zend?

благодаря

 $data = array( 'field1' => 'value1', 'field2' => 'value2' ); $where = $table->getAdapter()->quoteInto('id = ?', $id) $table = new Table(); $table->update($data, $where); 

Поскольку вы уже выбираете строку, которую хотите изменить, кажется просто проще:

 $row->id = 2; $row->save(); 

на всякий случай, если вы хотите увеличить значение столбца, используйте Zend_Db_Expr, например:

 $table->update(array('views' => new Zend_Db_Expr('views + 1')),$where); 
 public function updateCampaign($id, $name, $value){ $data = array( 'name' => $name, 'value' => $value, ); $this->update($data, 'id = ?', $id ); } 
  $data = array( "field1" => "value1", "field2" => "value2" ); $where = "id = " . $id; $table = new Table(); $table->update($data, $where); 

Для более чем одного, где оператор использует следующее.

 $data = array( "field1" => "value1", "field2" => "value2" ); $where['id = ?'] = $id; $where['status = ?'] = $status; $table = new Table(); $table->update($data, $where);