Symfony 2选择表格中的选定行

时间:2013-08-06 14:32:57

标签: symfony doctrine-orm entity query-builder

我想使用Doctrine2 / Symfony2在我的表单中添加<select>所选行

如何使用实体返回选择一个值?!

这是我的代码:

$content = new Content();
    $form = $this->createFormBuilder($content)
            ->add('idcontent', 'entity', array(
                'class' => 'SdmSiteInterBundle:Activite',
                'query_builder' => function($repository) { 
                    return $repository->createQueryBuilder('c')->orderBy('c.name', 'ASC');
                },
                'property' => 'name',
                'data' => 82,
            ))
            ->getForm();

为了更多解释,我想要这个结果:

<select>
<option value="25">activity name 01</option>
**<option value="82" selected="selected">activity name 02</option>**
<option value="214">activity name 03</option>
.....
</select>

1 个答案:

答案 0 :(得分:0)

老实说,我并不完全理解你的问题,但是如果你想知道如何设置“默认”组合框的值,那么只需设置属性,就像通常初始化对象一样。

$content = new Content();
$content->setActivite($someActivite);

此外,在您的示例中,当您可能要执行以下操作时,您正在为idcontent类型的$content字段创建表单字段:

$content = new Content();
$content->setActivite($someActivite);

$form = $this->createFormBuilder($content)
        ->add('activite', 'entity', array(
            'class' => 'SdmSiteInterBundle:Activite',
            'query_builder' => function($repository) { 
                return $repository->createQueryBuilder('c')->orderBy('c.name', 'ASC');
            },
            'property' => 'name'
        ))
        ->getForm();

有关详细信息,请参阅http://symfony.com/doc/current/reference/forms/types/entity.html