Mysql 插入不带表单的查询symfony 2
我正在使用symfony2,我需要在MySQL表中插入一些数据。我知道如何使用表单进行操作:Mysql 插入不带表单的查询symfony 2,mysql,sql,symfony,entity,dql,Mysql,Sql,Symfony,Entity,Dql,我正在使用symfony2,我需要在MySQL表中插入一些数据。我知道如何使用表单进行操作: $m=new table(); $form=$this->container->get('form.factory')->create(new tableType(),$m); $request=$this->getRequest(); if($request->getMethod()=='POST') { $form->bind($request);
$m=new table();
$form=$this->container->get('form.factory')->create(new tableType(),$m);
$request=$this->getRequest();
if($request->getMethod()=='POST')
{
$form->bind($request);
if ($form->isValid())
{
$rm=$this->container->get('doctrine')->getEntityManager();
$rm->persist($m);
$rm->flush();
}
这是可行的,但我不想使用预定义的表单,因为我需要对输入进行复杂的控制。我需要用jQuery生成值。
那么,如何将输入值插入到表中呢?通常,您可以将整个请求传递给操作,如下所示
use Symfony\Component\HttpFoundation\Request;
// <...>
public function fooAction(Request $request)
{
$foo = $request->query->get('foo', 'default_value_for_foo'); // get the foo param from request query string (GET params)
$bar = $request->query->get('bar', 'default_value_for_bar'); // get the bar param from request POST params
}
使用Symfony\Component\HttpFoundation\Request;
//
公共功能操作(请求$Request)
{
$foo=$request->query->get('foo','default_value_for_foo');//从请求查询字符串(get params)获取foo参数
$bar=$request->query->get('bar','default_value_for_bar');//从request POST参数获取bar参数
}
另外,您可能对集合表单类型感兴趣,它允许您为表单生成多行或多个实体(不固定)这实际上比使用表单更容易:D
<?php
// ...
// fetch your params
$m = new table();
$m->setWhatever($request->get('whatever'));
// persist
$em = $this->get('doctrine.orm.entity_manager');
$em->persist($m);
持久化后忘记了flush()。