Sonata admin datagrid 过滤器无法让 ChoiceType 工作
Sonata admin datagrid filter can't get ChoiceType to work
我正在去除这个问题。在 sonata admin 3.x 上,我在列表视图中有这个过滤器,提供了一个 select 框,其中包含描述的选项。
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 之间的所有方法,但我在文档中找不到任何片段,也找不到任何关于它现在应该如何工作的相关提示。
非常感谢!
正确的语法是:
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
]
]
)
}
我正在去除这个问题。在 sonata admin 3.x 上,我在列表视图中有这个过滤器,提供了一个 select 框,其中包含描述的选项。
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 之间的所有方法,但我在文档中找不到任何片段,也找不到任何关于它现在应该如何工作的相关提示。
非常感谢!
正确的语法是:
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
]
]
)
}