DBTable создает новую строку вместо обновления существующего

Я пытаюсь обновить запись в БД с данными теперь, но я просто создаю новую запись:

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

0

Решение

Zend_Db_Table_Abstract :: найти () метод возвращает Объект Zend_Db_Table_Rowset. Вы должны использовать метод, который вернет вам Объект Zend_Db_Table_Row и использовать это.

Например:

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

Если имя первичного ключа вашей таблицы не ‘Я бы‘, измените его на подходящее значение в первой строке кода выше.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]