【问题标题】:symfony2 form entity add valuessymfony2 表单实体添加值
【发布时间】:2014-05-06 09:08:09
【问题描述】:

我只需要将其他默认选项添加到 Symfony2 中的“实体字段”。它显示名称,我需要一个选项“名称不在列表中”,但我找不到实现它的方法。不过,数据转换器似乎无法解决我的问题。

$builder
      ->add('family', 'entity', array(
            'class'     => 'InterneFichierBundle:Family',
            'property'  => 'Name'
        ))

如果家庭的名字不在列表中,应该有一个选项“名字不在列表中”.. 非常感谢!

【问题讨论】:

  • 你有一些代码可以更好地解释它吗?
  • 刚刚编辑了问题

标签: php forms symfony doctrine entity


【解决方案1】:

我很确定您可以指定一个空值选项:

$builder
  ->add('family', 'entity', array(
        'class'     => 'InterneFichierBundle:Family',
        'property'  => 'Name',
        'empty_value' => 'Name not in list',
    ))

http://symfony.com/doc/current/reference/forms/types/entity.html#empty-value

【讨论】:

  • 是的,我可以使用一个空值,但我只能使用一个,有没有通用的解决方案来添加更多选项?
  • 您基本上需要从实体类型下拉一个级别到选择字段类型。您需要自己构建您的选择数组,然后使用数据转换器使某些值保持为空。您的另一个选择是将您的选项作为行添加到您的数据库中,并使用某种标志来表明它们不是“真实”选项,然后自己处理更改。
【解决方案2】:

你应该试试:

有关信息,您可以在这里查看:http://symfony.com/fr/doc/current/reference/forms/types/entity.html

    $builder->add('users', 'entity', array(
      'class' => 'AcmeHelloBundle:User',
      'query_builder' => function(EntityRepository $er) {
         return $er->createQueryBuilder('u')
             ->orderBy('u.username', 'ASC');
       },
     ));

【讨论】:

    猜你喜欢
    • 2013-06-07
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 2012-09-05
    • 2013-08-22
    • 1970-01-01
    相关资源
    最近更新 更多