Sonata_type_boolean错误

时间:2015-06-05 13:24:25

标签: php mongodb symfony sonata-admin

我现在正在使用sonata admin bundle,在我的模型中我有一个布尔属性,我希望在我的编辑视图中显示:“yes”如果属性为true,如果属性为false则为“false”。做这个:

  

- > add('istrue',null,array())

如果为真,

显示“1”,如果为假则显示“0”。 但是使用sonata_type_boolean错误,即使属性为false,它也始终显示“是”。

  

- > add('istrue','sonata_type_boolean',array())

任何人都知道如何解决这个问题?谢谢

2 个答案:

答案 0 :(得分:3)

您可以尝试使用选择类型:

->add('istrue', 'choice', array(
    'choices' => array(
        0 => 'False',
        1 => 'Yes'
    )
))

文档:https://sonata-project.org/bundles/admin/master/doc/reference/field_types.html#choice

显示Yes / False而不是Yes / No或True / False有点奇怪:)

答案 1 :(得分:1)

我刚遇到同样的问题,并找到了解决方案。

' sonata_type_boolean'是一个专门的ChoiceType,其中选择列表被锁定为yes和no。

即使它有点棘手,出于向后兼容的原因,' sonata_type_boolean'将为1设置为1,为否设置为2。如果要映射到布尔值,只需将选项transform设置为true。例如,在映射到doctrine boolean时需要这样做。

所以你应该试试这个:

={median(if(and(A:A=A2,B:B=B2,C:C=C2,D:D=D2),T:T,"")} 

您可以在此处找到更多信息:https://sonata-project.org/bundles/core/master/doc/reference/form_types.html

希望这有帮助!