DBTable创建新行而不是更新现有行

时间:2014-12-14 03:48:19

标签: php zend-framework zend-db

我尝试用现在的数据更新数据库条目,但我只是创建一个新条目:

$client =$this->clientTable->find($id);
$client->CompanyName = $request->getPost('CompanyName');
$this->clientTable->update();
$this->_redirect('client/index');

1 个答案:

答案 0 :(得分:0)

Zend_Db_Table_Abstract :: find()方法返回 Zend_Db_Table_Rowset对象。您应该使用将返回 Zend_Db_Table_Row对象的方法并使用它。

例如:

$clientRow = $this->clientTable->fetchRow(array('id' => $id));
$clientRow->CompanyName = $request->getPost('CompanyName');
$clientRow->save();

如果您的表主键名称不是“ id ”,请在上面第一行代码中将其更改为合适的值。