Sonata Admin:布尔属性的布尔选择框

Sonata Admin: Boolean selectbox for boolean properties

我在我的实体中定义了一个布尔值 属性:

    /**
     * @var boolean
     * @Assert\Type(type="bool")
     * @ORM\Column(name="is_managed", type="boolean", nullable=true, options={"default": true})
     */
    protected $isManaged = true;

当我在 sonata admin bundle 中使用它时,它只会生成一个 select 框,其中包含值“1”和“2” - 我期望 "true" 或 "false" selection.

$datagridMapper
      ->add('description')
      ->add('isManaged', 'doctrine_orm_boolean')

生成代码:

<select id="filter_isManaged_value" name="filter[isManaged][value]" class="form-control select2-offscreen" tabindex="-1" title="Is Managed"><option value=""></option>            <option value="label_type_yes">1</option>            <option value="label_type_no">2</option></select>

有人可以帮我吗?

试试这个:

            ->add('isManaged', null, array(
                'label' => 'Is Managed',
                    ), 'sonata_type_translatable_choice', array(
                'translation_domain' => "SonataAdminBundle",
                'choices' => array(
                    1 => 'label_type_yes', // or 'True'
                    2 => 'label_type_no' // or 'False'
                ))
            )

Documentation