【发布时间】:2014-05-09 18:05:41
【问题描述】:
不确定我是否有这个权利,但我在 twig 模板中创建了自己的自定义表单,操作路径将转到将更新实体的控制器。我只见过使用$form->handleRequest($request) 的表单更新方法,然后使用$em->flush(); 由于我没有通过Symfony 的表单组件制作表单,我不知道如何从模板访问它以便将其刷新到数据库中。
我的动作控制器是这样的:
/**
* @param $subid
* @param Request $request
* @Route("/editparts/{subid}/", name="updateparts")
* @Template("editparts.html.twig")
* @Method("POST")
*/
public function updatePartsAction(Request $request, $subid) {
$r = $this->getDoctrine()->getManager();
$entity = $r->getRepository('MainBundle:MainSub')->findOneById($subid);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Parts entity to edit.');
}
// what is this step???
$r->flush();
.....
我在twig模板中的表单是这样的:
{% if parts is defined %}
<div class="inventorysearch">
<form action="{{ path('updateparts', {'subid' : parts.subid}) }}" method="POST" >
<input type="text" name="part" value="{{ parts.part }}" disabled><br />
<input type="text" name="batch" value="{{ parts.batch }}" disabled><br />
<input type="text" name="rack" required="required" value="{{ parts.rack }}"><br />
<input type="text" name="acode" value="{{ parts.acode }}"><br />
<input type="text" name="bcode" value="{{ parts.bcode }}"><br />
<input type="integer" name="qty" required="required" value="{{ parts.qty }}"><br />
<button type="submit" name="submit">Update</button>
</form>
</div>
{% endif %}
【问题讨论】:
标签: php forms symfony doctrine-orm