如何将数据绑定到symfony中的表单

时间:2013-04-22 08:49:05

标签: symfony1 symfony-1.4

我有一个需要绑定到symfony中的表单的变量,如何将动作文件中的数据绑定到表单?

行动档案  $ this-> unitCost = $ this-> getUser() - > getAttribute('unit_cost');          $ value_lists =($ this-> unitCost);

    foreach($value_lists as $values)
        {
        echo $values['unit_cost'];
        }
    $form = new MyForm(); $form->bind(array('unit_cost' => $values['unit_cost']));
     //print_r($value_lists);

表 public function configure(){

    $cost_range[''] = '-- Please select --';
    for ($i = 0; ($i <= 100); $i++) {
        $cost_range[$i] = $i;
    }

    $this->setWidgets(array(
        'user_id' => new sfWidgetFormDoctrineChoice(array('model' => 'Person', 'add_empty' => '-- Please select --'), array('onchange' => 'filerUnitCostByName()', 'id' => 'user_id')),
        'unit_cost' => new sfWidgetFormSelect(array('choices' => $cost_range), array('id'=>'unit_cost')),
    ));

如何通过表单中的数字下拉显示绑定值 我从下拉列表中获取数据并放入会话,然后检索操作中的数据。我想在使用widget创建的表单中创建的下拉列表中设置所选变量。你可以在小部件区域看到。我想将该值添加为默认值。

1 个答案:

答案 0 :(得分:2)

对于POST请求中的绑定变量,您可以执行以下操作:

$form = new MyForm();
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));

如果你想绑定一个额外的变量,你可以这样做:

$form = new MyForm();
$form->bind(array_merge($request->getParameter($form->getName()), array('foo' => $foo)), $request->getFiles($form->getName()));

编辑:没有POST变量,你可以这样做:

$form = new MyForm();
$form->bind(array('foo' => $foo));