我是symfon2的新手,在编辑功能的控制器页面的某些部分中。当我在view.html.twig中点击编辑时,我需要使用所有信息渲染到我的创建页面
我的Controller.php,
public function editAction($id)
{
$profile = $this->getDoctrine()
->getRepository('TcprofileBundle:TcProfiles')
->find($id);
$profile_form = $this->createForm(new ProfileType(), $profile);
$request = $this->getRequest();
$profile_form->bindRequest($request);
if ($editForm->isValid()) {
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('tcprofile_create', array('id' => $id)));
}
}
我的view.twig模板
<a href="#!{{ path('tcprofile_edit',{ 'id': profile.getId}) }}"> Edit Profile </a>
我的路由,
tcprofile_edit:
pattern: /edit/{id}
defaults: { _controller: "TcprofileBundle:Default:edit"} `
请帮助我更好的解决方案,提前致谢
答案 0 :(得分:0)
您可以使用实体数据创建表单。只需将实体传递给createForm函数。表单呈现时,它将包含实体数据;)
public function editAction($id)
{
$profile = $this->getDoctrine()
->getRepository('TcprofileBundle:TcProfiles')
->find($id);
$profile_form = $this->createForm(new ProfileType(), $profile);
$request = $this->getRequest();
$profile_form->bindRequest($request);
if ($editForm->isValid()) {
$em->persist($entity);
$em->flush();
return $this->render('bundle:edit:editForm.html.twig' , $profile_form);
}
}
您将使用默认数据加载表单。