【发布时间】:2017-12-20 17:02:52
【问题描述】:
我想用 symfony 表单编辑我的数据,但我遇到了问题 可能与我的控制器。我有一些这样的:
public function detailAction($id,Request $request)
{
$order = $this->getDoctrine()->getRepository(OrderMain::class)->find($id);
if (!$order) {
throw $this->notFoundException();
}
$form = $this->createForm(OrderMainType::class, $order);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// do not enter here
$orderEdit = $form-getData();
$em = $this->getDoctrine()->getManager();
$em->persist($orderEdit);
$em->flush();
}
return $this->render('ModiModiAdminBundle:Order:detail.html.twig',array(
'form' => $form->createView(),
));
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
/.../
->add('edit', SubmitType::class, array(
'attr' =>array('class'=>'edit'),
));
}
全部显示正确,但是当我单击按钮时,我的页面会重新加载(不保存更改)。感谢帮助。
【问题讨论】:
-
实体管理器不知道如何持久化表单数据,它只接收实体。尝试在您的控制器中移交
$order实体,该实体在 isvalid 条件块内应使用新的有效表单数据进行更新。 -
这行不通:(
标签: php forms symfony submit edit