public function updateAction() { $id = $this->params()->fromRoute('id'); if (!$id) { return $this->redirect()->toRoute('csn_user/default', array('controller' => 'user-row-gateway-feature-bind', 'action' => 'index')); } $form = new UserForm(); $form->setHydrator(new ObjectProperty()); $user = $this->getUsersTable()->select(array('usr_id' => $id))->current(); $form->bind($user); $request = $this->getRequest(); if ($request->isPost()) { $form->setInputFilter(new UserFilter()); $form->setData($request->getPost()); $form->remove('submit'); if ($form->isValid()) { $user->save(); return $this->redirect()->toRoute('csn_user/default', array('controller' => 'user-row-gateway-feature-bind', 'action' => 'index')); } $form->add(array('name' => 'submit', 'attributes' => array('type' => 'submit', 'value' => 'Go', 'id' => 'submitbutton'))); } else { // ToDo find why the form doesn't get populated from the object directly and remove this line $form->setData($this->getUsersTable()->select(array('usr_id' => $id))->current()->toArray()); } return new ViewModel(array('form' => $form, 'id' => $id)); }