Php 如何将表单数据保存到数据库中
我最近开始使用Symfony2制作一个简单的Web应用程序。主要功能是使用表单从数据库保存/获取数据。让我添加表单类型和控制器的代码:Php 如何将表单数据保存到数据库中,php,database,forms,symfony,Php,Database,Forms,Symfony,我最近开始使用Symfony2制作一个简单的Web应用程序。主要功能是使用表单从数据库保存/获取数据。让我添加表单类型和控制器的代码: <?php class RegistroController extends Controller{ public function registrofamAction(){ $peticion = $this->get('request'); $em = $this->get('doctrine')-
<?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
中?如何管理表单信息和数据库
谢谢大家 表单位于
$form
变量中。第一次运行控制器时,您可能处于GET模式,并使用新的Familia
构造$form
。
在第二次调用中,在小枝中执行POST
后,您将将请求数据($呈请
)绑定到$form
,然后对其进行验证,如果一切正常,则使用条令实体管理器持久化$familia
您拥有的是symfony书籍中解释得很好的典型控制器:
仔细阅读symfony这本书,我知道这是一本非常值得一读的书,但它的收益很高,因为它的描述非常好。这里您使用request方法得到了公式,然后数据现在就在$呈请变量中(您可以显示这个变量,以查看它是如何构建的)
然后将数据“绑定”到表单对象中,如果正确,数据将被持久化首先感谢您的关注。我最近发现了这个问题。这是因为它没有输入if($form->isValid())。现在,我正试图找出表单的问题所在使用$form->getErrors()
获取验证错误或将其输出到小枝中。是的,最后的问题是我发送的表单无效,我将删除此问题,但谢谢大家首先感谢大家的关注。我最近发现了这个问题。这是因为它没有输入if($form->isValid())。现在我正试图找出表单的错误