将变量保存到控制器中

时间:2011-09-13 11:52:54

标签: symfony

我首先有这个表格:

            <form action="{{path('entrenamiento_new')}}" method="post" accept-charset="utf-8">
            <fieldset>
              <legend> Seleccione </legend>
              <p><label> <input type="radio" name="tipoentrenamiento_id" value="1" checked="true"> Tipo X7 </label></p>
              <p><label> <input type="radio" name="tipoentrenamiento_id" value="0"> Otro</label></p>
             </fieldset>

            <p><input type="submit" value="Continuar &rarr;"></p>
        </form> 

这就是路由:

entrenamiento_new:
pattern: entrenamiento/new
defaults: {_controller: GitekUdaBundle:Entrenamiento:new}
requirements:
    _method: POST
    id: \d+

现在我有一个post变量tipoentrenamiento_id女巫我想在我处理formacion / new控制器时保存到Formacion实体中。

如何在createAction中保存这些数据?我的Formacion实体已经有一个tipoentrenamiento_id字段。

1 个答案:

答案 0 :(得分:1)

如果您只需要在控制器中存储Post值,则可以使用

$ entity-&gt; setXxxxxx('value),其中Xxxxx是实体中字段的名称。

例如,假设您的实体字段名称是“tipoentenamiento_id”,您的控制器必须是:

public function newAction()
{
    $request = $this->getRequest();

//Get your POST value
    $foo = $request->request->get('tipoentrenamiento_id');

    $entrenamiento = new Entrenamiento();
    $entrenamiento->setTipoentrenamientoId($foo);
    $form   = $this->createForm(new EntrenamientoType(), $entrenamiento);

    return array(
        'entrenamiento' => $entrenamiento,
        'form'   => $form->createView()         

    );
}