mysql - 在 Symfony4 更新功能不起作用,从数据库中获取值之后
问题描述
我是 Symfony 的新手。我用插入、删除、查看、更新制作了一个表单。在视图页面中,我添加了一个编辑按钮,用于更新值。当我在更改表单值后提交表单时,输出中的值不会更新。请分享您的想法。
谢谢你...
在这里我附上了我的控制器代码
/**
* @Route("/update/{id}", name="update")
*/
//edit function
public function edit($id,Request $request,Ramsurath $ramsurath) :Response
{
$form = $this->createForm(RamsurathType::class, $ramsurath);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid())
{
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('index');
}
return $this->render('ramsurath/update.html.twig',
['ramsurath'=>$ramsurath,'form' => $form->createView()]);
}
解决方案
参见处理表单的 Symfony 文档。
您$form->getData()
在冲洗之前错过了调用:
/**
* @Route("/update/{id}", name="update")
*/
//edit function
public function edit($id,Request $request,Ramsurath $ramsurath) :Response
{
$form = $this->createForm(RamsurathType::class, $ramsurath);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid())
{
$ramsurath = $form->getData(); // this is the line you are missing
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('index');
}
return $this->render('ramsurath/update.html.twig',
['ramsurath'=>$ramsurath,'form' => $form->createView(),
]);
}
推荐阅读
- python - 考虑空白时,正则表达式失败
- python - 更改散景图中选项卡的样式
- javascript - 如何在滑块、vue 中使用多个 Clappr?
- python - 如何在 Python 中将 2 通道光流灰度 JPG 图像合并为一张 RGB 图像?
- c# - 线程池中的方法调用栈
- c++ - 图像的 Pixelformat 始终返回 32 位
- java - 为什么使用 `threshold` 字段来保存初始容量,而不是使用更清晰的 `initialCapacity` 之类的附加字段?
- python - 包含while循环时整个脚本拒绝执行?
- angular5 - 开放层没有通过geojson获得准确的区域
- qt - qml中如何导出字段信息