我最近开始使用Symfony2制作一个简单的Web应用程序。主要功能是使用表单从数据库保存/获取数据,让我添加FormType和Controller的代码:
<?php
class RegistroController extends Controller{
public function registrofamAction(){
$peticion = $this->get('request');
$em = $this->get('doctrine')->getEntityManager();
$familia = new Familia();
$familia->setRol($rol='fam');
$form = $this->get('form.factory')->create(
new FamiliaType(),
array()
);
$form->setData($familia);
if ($peticion->getMethod() == 'POST') {
$form->bind($peticion);
if ($form->isValid()) {
$familia->setProgenitor1($Nombrep1);
$em->persist($familia);
$em->flush();
}
}
return $this->render('PreditBundle:Default:registro.html.twig', array('form' => $form->createView()));
}
}
?>
我知道这很容易,但我不清楚表格是如何返回给你的。表格是$peticion
吗?我如何管理表单信息和数据库?
谢谢大家!
答案 0 :(得分:0)
表单位于$form
变量中。当您第一次运行控制器时,您可能处于GET模式,并使用新的$form
构建Familia
。
在第二次调用时,在树枝中执行POST
之后,您bind
$petition
$form
$familia
到{{1}},然后进行验证,如果一切正常,你使用doctrine实体经理坚持{{1}}。
你所拥有的是典型的控制器,它在symfony书中得到了很好的解释:
http://symfony.com/doc/current/book/forms.html
仔细阅读symfony一书http://symfony.com/doc/current/book/index.html我知道这是一本非常值得阅读的文献,但由于描述得非常好,所以收入很高。
答案 1 :(得分:0)
在这里,您可以使用请求方法获取公式,然后数据现在位于$ petition变量中(您可以显示此var以查看它是如何构建的)
然后你'绑定'表单对象中的数据,如果它是正确的,数据将被保留