微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在奏鸣曲布尔过滤器中包含空值

如何解决在奏鸣曲布尔过滤器中包含空值

final class SomeAdmin extends AbstractAdmin
{      
  protected function configureDatagridFilters(DatagridMapper $datagridMapper)
  {       
      $datagridMapper->add('sending_error',null,[
            'label' => 'some label;',]);
  }
}

  // ...
  class Entity
  {
    /**
     * @var bool|null
     *
     * @ORM\Column(type="boolean",nullable=true)
     */
    private $sending_error;
    // ...
  }

代码生成具有两个值的过滤器:是/否。 “yes”选项将在字段中返回值为“true”的行,过滤器的“false”选项将在db字段中返回值为“false”的行,但如何在“no”过滤器选项中包含值为“null”的行?

解决方法

如果您在 add() 选项中设置它们,您可以为过滤器添加自定义选项。

对于 4.3 之前的 symfony 版本和 Sonata-admin-bundle 3 你可以这样做:

$datagridMapper
   ->add('sending_error','doctrine_orm_string',array(),'choice',array('choices' => array('m' => 'Male','f' => 'Female')
    )
);

对于最新版本(我在本地进行了测试并且对我有用)

->add('sending_error',null,['label' => 'some label'],ChoiceType::class,[
                        'choices' => ['True' => True,'False' =>False,'Empty'=>null]])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。