public function editAction() { $id = $this->getParam(self::PARAM_GET_ID); $form = new Form_User(); $userModel = $this->em->getRepository('Federico\\Entity\\User')->getUser($id); $languages = $userModel->getLanguages()->toArray(); $selectedLanguages = array(); //needed countries to populate form foreach ($languages as $language) { $selectedLanguages[] = $language->getLanguageName(); } $form->getElement('id')->setValue($userModel->getId()); $form->getElement('role')->setValue($userModel->getRole()); $form->getElement('name')->setValue($userModel->getName()); $form->getElement('email')->setValue($userModel->getEmail()); $form->getElement('password')->setValue($userModel->getPassword()); $form->getElement('url')->setValue($userModel->getUrl()); $form->getElement('languages')->setValue($selectedLanguages); echo $form; if ($this->_request->isPost()) { if ($form->isValid($_POST)) { $data = $form->getValues(); $instance = new \Federico\Entity\UserService($this->em); $entity = $instance->makeUser($data); $user = $instance->updateUser($entity); $this->_redirect('federico/index'); } } }