¿es posible realizar una búsqueda con Doctrine sin distinción entre mayúsculas y minúsculas?Doctrine LIKE caso insensible
Respuesta
Esto depende principalmente de su servidor de base de datos. A LIKE con MySQL no distingue entre mayúsculas y minúsculas y PostgreSQL distingue entre mayúsculas y minúsculas. Pero usted puede ayudarse a sí mismo con algo como esto:
$pattern = strtolower('HEllO WorlD');
$q = Doctrine_Query::create()
->select('u.username')
->from('User u')
->where("LOWER(u.username) LIKE ?", $pattern);
Otra cosa que puede hacer es:
$qb->andWhere($qb->expr()->like('lower(o.name)', ':name'));
$qb->setParameter('name', '%'. strtolower($search) . '%');
Saludos.
Además, puede intentar:
$queryBuilder->where('LOWER(b.title) LIKE LOWER(:query)')
->setParameter('query', '%' . $query . '%');
Importante: Después de convertir una cadena que contiene caracteres especiales a minúsculas con strtolower(), los caracteres especiales no aparecen correcta.
La mejor manera de hacerlo es tener una columna de nombre de usuario canonizado, en esa columna puede almacenar la versión en minúscula de la columna de nombre de usuario y cualquier otro proceso de canonización que desee hacer y buscar e indexar esa columna en lugar del nombre de usuario columna, luego solo haga
->where("u.canonic_username) LIKE ?", $pattern);
De esta forma puede usar índices y todo eso.
$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).'%');
Esta respuesta ha sido marcada como de baja calidad. ¿Podría explicar su código y por qué soluciona el problema? – AJFarmar
- 1. Caso insensible find_or_create_by_whatever
- 2. Caso insensible búsqueda variedad
- 3. Caso insensible a la sustitución PowerShell
- 4. caso vim búsqueda insensible sensible reemplazar
- 5. Raíles: ActiveRecord db sort operación caso insensible
- 6. ORACLE 11g caso insensible por defecto
- 7. Caso insensible ordenamiento especie en NHibernate
- 8. Caso insensible expresión regular Python sin re.compile
- 9. JPA: realizar caso de orden insensible por
- 10. Caso insensible switch de los casos
- 11. Collation insensible a mayúsculas y minúsculas en Oracle con LIKE
- 12. Sintaxis SQL 'LIKE'
- 13. Consultando MongoDB (vía pymongo) en caso insensible eficientemente
- 14. ¿Hay un caso jQuery insensible: contiene el selector?
- 15. no caso de búsqueda sensible rieles PostgreSQL con LIKE
- 16. ¿Es posible realizar una búsqueda insensible a mayúsculas y minúsculas en una declaración LIKE en SQL?
- 17. PostgreSQL: comparación de cadena insensible a las mayúsculas
- 18. Caso cadena insensible comparar con LINQ a SQL y LINQ a objetos
- 19. MVC 3 - Comparar atributo - Realizar la comparación de caso insensible en el lado del cliente
- 20. Cómo usar el HashSet <string>. Método Contieneins() en el modo de caso -insensible?
- 21. LIKE y comodín% en la Doctrina findBy *()
- 22. Insensible a mayúsculas ¿REEMPLAZAR en MySQL?
- 23. Los modelos generados de Doctrine respetan el caso, pero Yaml generado no
- 24. Regex insensible a los acentos?
- 25. MySQL regex query case insensible
- 26. Caso de MySQL en la instrucción Select con el operador LIKE
- 27. Problemas Doctrine QueryBuilder y concat
- 28. NHibernate.Linq LIKE
- 29. Reemplazo insensible a mayúsculas
- 30. Insensible a mayúsculas/minúsculas (ilike) en Datamapper con Postgresql
¿Y qué hay de los índices en la columna de nombre de usuario? – Jekis