diff -u b/core/modules/views/src/Plugin/views/display/EntityReference.php b/core/modules/views/src/Plugin/views/display/EntityReference.php --- b/core/modules/views/src/Plugin/views/display/EntityReference.php +++ b/core/modules/views/src/Plugin/views/display/EntityReference.php @@ -122,12 +122,16 @@ // Restrict the autocomplete options based on what's been typed already. if (isset($options['match'])) { $style_options = $this->getOption('style'); - $value = db_like($options['match']); - if ($options['match_operator'] === 'STARTS_WITH') { - $value = $value . '%'; + $value = $options['match']; + if ($options['match_operator'] === '=') { + $operator = '='; } - elseif ($options['match_operator'] === 'CONTAINS') { - $value = '%' . $value . '%'; + else { + $operator = 'LIKE'; + $value = db_like($value) . '%'; + if ($options['match_operator'] != 'STARTS_WITH') { + $value = '%' . $value; + } } // Multiple search fields are OR'd together. @@ -142,7 +146,7 @@ $field_alias = $this->view->query->addField($table_alias, $field_handler->realField); $field = $this->view->query->fields[$field_alias]; // Add an OR condition for the field. - $conditions->condition($field['table'] . '.' . $field['field'], $value, 'LIKE'); + $conditions->condition($field['table'] . '.' . $field['field'], $value, $operator); } }