Zend Framework и PostgreSQL update
Размещено 2010-09-26
в разделе Программирование | Метки:
PostgreSQL, Zend Framework
При апдейте возникала такая ошибка
Message: SQLSTATE[42804]: Datatype mismatch: 7 ERROR: argument of AND must be type boolean, not type integer LINE 1: ..., "updated" = $9, "url_alias" = $10 WHERE (id = $11) AND (1) ^
<?php
public function save(Application_Model_News $news)
{
$data = array(
'date' => $news->getDate(),
'title' => $news->getTitle(),
'teaser' => $news->getTeaser(),
'body' => $news->getBody(),
'id_category' => $news->getId_author(),
'id_author' => $news->getId_category(),
'published' => $news->getPublished(),
'promoted' => $news->getPromoted(),
'updated' => date('Y-m-d H:i:s'),
'url_alias' => $news->getUrl_alias(),
);
if (null === ($id = $news->getId())) {
unset($data['id']);
$this->getDbTable()->insert($data);
} else {
$this->getDbTable()->update($data, array('id = ?', $id));
}
}
?>Как я понял это было из за того что добавлялось AND (1) в конец запроса, проблема решилась заменой array('id = ?', $id) на array('id = ' . $id)