如何解决在奏鸣曲布尔过滤器中包含空值
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 举报,一经查实,本站将立刻删除。