我使用表单来更新我的用户详细信息。但是当我尝试更新时,它会显示自定义异常消息"用户更新失败。未找到用户!"。 包括创建,删除等在内的所有其他操作都正常工作。
我在控制器中有这个:
public function updateAction ()
{
$userForm = new Application_Form_User();
$userForm->removeElement('password');
$userModel = new Application_Model_DbTable_User();
if ($this->_request->isPost()) {
if ($userForm->isValid($_POST)) {
$userModel->updateUser(
$userForm->getValue('userid'),
$userForm->getValue('name'),
$userForm->getValue('username'),
$userForm->getValue('email'),
$userForm->getValue('role')
);
return $this->_forward('list');
}
} else {
$id = $this->_request->getParam('userid');
$currentUser = $userModel->find($id)->current();
$userForm->populate($currentUser->toArray());
}
$this->view->form = $userForm;
}
在模型中我有:
public function updateUser($id,$name,$email,$username, $role)
{
$rowUser = $this->find($id)->current();
if($rowUser) {
// update the row values
$rowUser->username = $username;
$rowUser->name = $name;
$rowUser->email = $email;
$rowUser->role = $role;
$rowUser->save();
//return the updated user
return $rowUser;
}else{
throw new Zend_Exception("User update failed.User not found!");
}
}
我使用与用户创建操作相同的表单。 当我点击更新内容时,它会使用具有id的用户的信息填充表单,但是当我尝试更新它时,只是失败了。我已经在过去的露水日中苦苦挣扎。请帮我解决这些问题。