php - 用表单编辑实体部分
问题描述
我有一个实体(大约 20/25 个字段),我想用表格编辑它。
我只想编辑(并显示)几个表单字段。
问题是,显示的所有字段都正确更新,但未呈现的字段默认更新为“null”值。
我的控制器:
$em = $this->getDoctrine()->getManager();
$LaboRequest= $em->getRepository('MyBundle:LaboRequest')->find($id);
$form = $this->createForm('MyBundle\Form\LaboRequestType', $LaboRequest);
if ($request->isMethod('POST') && $form->handleRequest($request)->isSubmitted() && $form->isValid()) {
$em->persist($LaboRequest);
$em->flush();
return $this->redirectToRoute(...);
}
return $this->render('...', array(
'LaboRequest' => $LaboRequest,
'form' => $form->createView(),
));
我只在我的视图中渲染几个字段,所以我可以理解,默认情况下 symfony 对不渲染的字段使用“null”。
但是有没有办法编辑实体的一部分而不影响具有“空”值的实体的数据?
解决方案
我不确定你能做到这一点。但是您可以扩展您的原始表格并致电
$builder->remove('xxx')
对于您要删除的每个字段
推荐阅读
- c# - visualtreehelper'不包含'getdpi'的定义
- java - java模板中允许的参数类型
- spring-boot - 当远程应用程序被杀死时,Spring Boot 应用程序被杀死
- spring - Spring Security:为什么Spring只查找访问令牌的最后一个权限?
- android - 我应该把检查互联网连接的私有布尔值放在哪里?
- python - 如何在python代码中对文件第二列进行排序
- java - 如何使用 Selenium 和 Java 在 https://www.goibibo.com/hotels 上单击 SELECT ROOM 按钮
- riak - riak 错误:[ERROR] [Node] (172.16.1.56:8087|0|0) createConnection 中的健康检查失败
- android - 如何使用(智能参考)代理设计模式实现缓存机制?
- algorithm - 如何求解递归 T(n) = 4T(sqrt(n)) + sqrt(n)?