【问题标题】:Sonata admin datagrid 过滤器无法让 ChoiceType 工作
【发布时间】:2022-01-17 16:47:15
【问题描述】:

我正在去除我的头发。在 Sonata admin 3.x 上,我在列表视图中有这个过滤器,提供了一个包含所描述选项的选择框。


protected function configureDatagridFilters(DatagridMapper $datagridMapper): void 
{
    ->add('state', 'doctrine_orm_choice',
                array('label' => 'State'),
                ChoiceType::class, array(
                    'choices' => array(
                        'new' => 'new',
                        'open' => 'open',
                        'closed' => 'closed' ),
                        'required' => false

                    )
            )
}

但在升级到 4.x 时出现以下错误:

No attached service to type named 'doctrine_orm_choice'

我尝试了从 ChoiceType 到 ChoiceFilter 之间的一切,但我在文档上找不到任何 sn-p 或任何有关它现在应该如何工作的相关提示。

非常感谢!

【问题讨论】:

    标签: sonata-admin sonata


    【解决方案1】:

    正确的语法是:

    use Sonata\DoctrineORMAdminBundle\Filter\ChoiceFilter;
    
    protected function configureDatagridFilters(DatagridMapper $datagridMapper): void 
    {
         ->add('state',   ChoiceFilter::class, ['label' => 'State',
                        'field_type' => ChoiceType::class,
                        'field_options' => [
                            'choices' => [
                                'new' => 'new',
                                'open' => 'open',
                                'closed' => 'closed'],
                            'required' => false
    
                        ]
                    ]
                )
    }
    

    【讨论】:

      猜你喜欢
      • 2016-05-28
      • 2018-10-19
      • 2017-05-15
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多