Mysql 插入不带表单的查询symfony 2

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);

我正在使用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);  

    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()。