Я пытаюсь обновить раздел sonata-admin в проекте с версии 2 до 3. Как я понял, система фильтрации немного изменилась.Раздел фильтрации теперь выглядит следующим образом:
/**
* Fields to be shown on filter forms
*
* @param DatagridMapper $datagridMapper
*/
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('updated_from', 'doctrine_mongo_callback', [
'callback' => function ($queryBuilder, $alias, $field, $value) {
if (!$value['value']) {
return;
}
$queryBuilder
->field('updated_at')
->gte(new \DateTime($value['value']));
return true;
}, 'label' => 'Updated at, from'])
->add('updated_to', 'doctrine_mongo_callback', [
'callback' => function ($queryBuilder, $alias, $field, $value) {
if (!$value['value']) {
return;
}
$queryBuilder
->field('updated_at')
->lte(new \DateTime($value['value']));
return true;
}, 'label' => 'Updated at, to'])
->add('role', 'doctrine_mongo_choice', [], ChoiceType::class, [
'label' => 'Role Name',
'operator_type' => HiddenType::class,
'field_options' => [
'choices' => $this->getFilter('role')
]
]);
}
Обычно фильтры работают, но я не могу использовать только один фильтр отдельно.Когда я пытаюсь отфильтровать по "updated_from" sonata, попросите меня выбрать другие 2 фильтра и ничего не показать.Затем я выбираю эти два других фильтра и все работает.
Может кто-нибудь помочь в этом вопросе?Спасибо.