è possibile effettuare una ricerca con Doctrine senza distinzione tra maiuscole e minuscole?Doctrine LIKE senza distinzione tra maiuscole e minuscole
risposta
Dipende principalmente dal server di database. Un LIKE con MySQL è case insensitive come PostgreSQL è case sensitive. Ma si può aiutare se stessi con qualcosa di simile:
$pattern = strtolower('HEllO WorlD');
$q = Doctrine_Query::create()
->select('u.username')
->from('User u')
->where("LOWER(u.username) LIKE ?", $pattern);
Altra cosa che puoi fare è:
$qb->andWhere($qb->expr()->like('lower(o.name)', ':name'));
$qb->setParameter('name', '%'. strtolower($search) . '%');
saluti.
Inoltre, si può provare:
$queryBuilder->where('LOWER(b.title) LIKE LOWER(:query)')
->setParameter('query', '%' . $query . '%');
Importante: Dopo la conversione di una stringa che contiene i caratteri speciali in minuscolo con strtolower(), i caratteri speciali non appaiono corrette.
Il modo migliore per fare questo è avere una colonna nome utente canonizzata, in quella colonna è possibile memorizzare la versione in minuscolo della colonna nome utente e qualsiasi altro processo di canonizzazione che si desidera fare e cercare e indicizzare quella colonna al posto del nome utente colonna, quindi basta fare
->where("u.canonic_username) LIKE ?", $pattern);
In questo modo è possibile utilizzare gli indici e tutto il resto.
$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).'%');
Questa risposta è stata contrassegnata come di bassa qualità. Potresti spiegare il tuo codice e perché risolve il problema? – AJFarmar
- 1. GetMethod senza distinzione tra maiuscole e minuscole?
- 2. Elenco senza distinzione tra maiuscole e minuscole
- 3. AngularJs, senza distinzione tra maiuscole e minuscole
- 4. Corrispondenza delle maiuscole senza distinzione tra maiuscole e minuscole
- 5. Ricerca senza distinzione tra maiuscole e minuscole in Mongo
- 6. OData e distinzione tra maiuscole e minuscole
- 7. JPA2: senza distinzione tra maiuscole e minuscole come l'abbinamento ovunque
- 8. Automapper - voglio distinzione tra maiuscole e minuscole
- 9. ORACLE 11g senza distinzione tra maiuscole e minuscole per default
- 10. Underscore.js Ordinamento senza distinzione tra maiuscole e minuscole
- 11. Come utilizzare PHP strpos senza distinzione tra maiuscole e minuscole?
- 12. Colonne stringa senza distinzione tra maiuscole e minuscole in SQLAlchemy?
- 13. MySQL senza distinzione tra maiuscole e minuscole DISTINCT
- 14. Elenco filtri Jquery senza distinzione tra maiuscole e minuscole
- 15. Set Matcher Bootstrap Typeahead senza distinzione tra maiuscole e minuscole
- 16. Ricerca elenco senza distinzione tra maiuscole e minuscole
- 17. Corrispondenza senza distinzione tra maiuscole e minuscole in Marpa
- 18. completamento scheda cshell, senza distinzione tra maiuscole e minuscole
- 19. PHP in -array senza distinzione tra maiuscole e minuscole
- 20. Come sostituire una stringa senza distinzione tra maiuscole e minuscole
- 21. come rendere la ricerca senza distinzione tra maiuscole e minuscole
- 22. PHP: parametri senza distinzione tra maiuscole e minuscole
- 23. Ricerca chiave senza distinzione tra maiuscole e minuscole di MemoryCache
- 24. È possibile deserializzare GSON senza distinzione tra maiuscole e minuscole.
- 25. Come rendere String.Contains senza distinzione tra maiuscole e minuscole?
- 26. È possibile eseguire una ricerca senza distinzione tra maiuscole e minuscole nell'istruzione LIKE in SQL?
- 27. Selezione stringhe e distinzione tra maiuscole e minuscole
- 28. Vincolo unico non sensibile alla distinzione tra maiuscole e minuscole
- 29. Rails routes.rb - Non sensibile alla distinzione tra maiuscole e minuscole
- 30. Appoggio appropriato di una distinzione tra maiuscole e minuscole
E che dire degli indici sulla colonna del nome utente? – Jekis