Возможно ли выполнить поиск с помощью Doctrine case-insensitive?Doctrine LIKE не чувствителен к регистру
ответ
Это зависит от базы данных. LIKE с MySQL нечувствителен к регистру, как и PostgreSQL, чувствителен к регистру. Но вы можете помочь себе что-то вроде этого:
$pattern = strtolower('HEllO WorlD');
$q = Doctrine_Query::create()
->select('u.username')
->from('User u')
->where("LOWER(u.username) LIKE ?", $pattern);
Другое, что вы можете сделать, это:
$qb->andWhere($qb->expr()->like('lower(o.name)', ':name'));
$qb->setParameter('name', '%'. strtolower($search) . '%');
С уважением.
Кроме того, вы можете попробовать:
$queryBuilder->where('LOWER(b.title) LIKE LOWER(:query)')
->setParameter('query', '%' . $query . '%');
Важно: После преобразования строку, содержащую специальные символы в нижний регистр с strtolower(), специальные символы не отображаются правильно.
Лучший способ сделать это - иметь канонизированный столбец имени пользователя, в этом столбце вы можете сохранить строчную версию столбца имени пользователя и любой другой процесс канонизации, который вы хотите сделать, и выполнить поиск и индексировать этот столбец вместо имени пользователя колонка, то просто сделайте
->where("u.canonic_username) LIKE ?", $pattern);
Таким образом, вы можете использовать индексы и все такое.
$q = Doctrine_Query::create()
$q->select('t')
->from('database_table t')
->where($q->expr()->like('t.search_field', ':search_text'))
->setParameter('search_text', '%'.strtolower($searchText).'%');
Этот ответ отмечен как некачественный. Не могли бы вы объяснить свой код и почему он решает проблему? – AJFarmar
- 1. XDocument.Descendents не чувствителен к регистру
- 2. WSO2APIM чувствителен к регистру
- 3. Rails PostgreSQL, не чувствителен к регистру поиск с LIKE
- 4. Bundle - чувствителен к регистру?
- 5. Как поиск чувствителен к регистру?
- 6. не чувствителен к регистру запроса в MySQL
- 7. Php MySQL чувствителен к регистру
- 8. чувствителен к регистру Directory.Exists/File.Exists
- 9. Сравнить Урл чувствителен к регистру
- 10. ComboBox чувствителен к регистру выпадающего
- 11. php чувствителен к регистру файла
- 12. Почему XPathNavigator чувствителен к регистру?
- 13. Хейстак фасет чувствителен к регистру
- 14. Запрос Mysql чувствителен к регистру?
- 15. xhr метод чувствителен к регистру?
- 16. MVCSitemapProvider IsCurrentNode чувствителен к регистру?
- 17. PDO как запрос чувствителен к регистру
- 18. C# File.WriteAllText не чувствителен к регистру?
- 19. SQL query resultset не чувствителен к регистру
- 20. Создание содержит селектор не чувствителен к регистру
- 21. Url чувствителен к регистру к действию
- 22. почему регистр чувствителен к регистру и нечувствителен к регистру?
- 23. PHP-поиск с использованием == и не чувствителен к регистру
- 24. Почему Mvc SiteMapProvider сохраненRouteParameter чувствителен к регистру?
- 25. Android - SQLite Cursor getColumnIndex() чувствителен к регистру?
- 26. .htaccess чувствителен к регистру и mod_rewrite
- 27. чувствителен к регистру URLs в апаче
- 28. элемент XML чувствителен к регистру Проблема
- 29. Почему iOS UDIDs чувствителен к регистру?
- 30. Solr FuzzyLookupFactory ExactMatch чувствителен к регистру
А как насчет индексов в столбце имени пользователя? – Jekis