Я получаю PDOException в редактовом альбоме «SQLSTATE [23000]: Нарушение ограничения целостности: 1048« Художник-художник »не может быть нулевым». Я отлаживал код и обнаружил, что после того, как действие edit form выполнило все значения столбца (id, title, artist), изменилось на нулевое значение в инструкции insert, тогда как это должно быть значения POST формы редактирования. Я использую тот же код, что и учебник ZF2. $ request-> getPost() имеет правильные измененные значения, но $ form-> getData() возвращает значения пустой формы для (id, title, artist).Zend framework 2 редактировать альбом не работает
кто может помочь.
Мой код:
public function editAction()
{
$id = (int) $this->params()->fromRoute('id', 0);
if (!$id) {
return $this->redirect()->toRoute('album', array(
'action' => 'add'
));
}
$album = $this->getAlbumTable()->getAlbum($id);
$form = new AlbumForm();
$form->bind($album);
$form->get('submit')->setAttribute('value', 'Edit');
$request = $this->getRequest();
if ($request->isPost()) {
$form->setInputFilter($album->getInputFilter());
$form->setData($request->getPost());
if ($form->isValid()) {
$this->getAlbumTable()->saveAlbum($form->getData());
// Redirect to list of albums
return $this->redirect()->toRoute('album');
}
}
return array(
'id' => $id,
'form' => $form,
);
}
Вы просто попробовали отладить код? Что находится в $ form-> getData()? –
Он сказал, что он получает пустую форму с $ form-> getData() – 125369
, конечно, он это сделал. Прости. : \ –