Symfony – Установите оператор «Sonata Admin» на «равен» в качестве опции по умолчанию

В sonata admin У меня есть рабочий фильтр в моем классе admin:

protected function configureDatagridFilters(DatagridMapper $datagridMapper) { $datagridMapper ->add('client.name'); } 

Фильтр по умолчанию будет соответствовать «содержит» (оператор LIKE) следующим образом:

введите описание изображения здесь

Я бы хотел, чтобы фильтр использовал «равно» (= оператор) в качестве параметра по умолчанию вместо «содержит»:

введите описание изображения здесь

К сожалению, я не мог найти ответы на вопросы или ответы, связанные с этим, в SO, google и в фильтрах Sonata docs 9.4 в настоящее время не зарегистрировано.

Как я могу это сделать?

Solutions Collecting From Web of "Symfony – Установите оператор «Sonata Admin» на «равен» в качестве опции по умолчанию"

Я сделал это с помощью JQuery:

 //This function is used for setting all the filters //in the default views $("select").find("option").each(function() { var ArrayClasses = $(this).parent().attr('class').split(' '); var IsFilter = false; $.each(ArrayClasses, function(i, value){ if (value === 'sonata-filter-option') IsFilter = true; }); if ($(this).val() === '3' && IsFilter) { var HtmlStr = "<span class='select2-chosen'>is iqual to</span>" + "<abbr class='select2-search-choice-close'></abbr>" + "<span class='select2-arrow'><b></b></span></a>"; $(this).attr("selected", "selected"); var WrapId = $(this).parent().prev().attr('id'); $("#" + WrapId + " a.select2-choice").html(HtmlStr); } }); 

Вы можете переопределить параметры фильтра по умолчанию, переопределив переменную $datagridValues

 protected $datagridValues = array( 'email' => array( 'type' => 3, 'value' => '' ) ); 

'type' => 3 означает, что он equal to

Сообщение после долгого времени. Вы можете переопределить параметры фильтра по умолчанию, переопределив переменную $datagridValues

 protected $datagridValues = array( 'email' => array( 'type' => 3, 'value' => '' ) ); 

'type' => 3 означает, что он equal to