Estoy intentando crear una búsqueda ponderada usando doctrine. Así es como lo hago en sql directo. Me pregunto cómo me convertiría los métodos de doctrine2. Estoy tratando de hacer esta búsqueda usando Symfony2.Cómo convertir una consulta compleja de MySQL a Doctrine2
Además, si hay una mejor manera de hacerlo, estoy abierto a eso. Gracias.
"SELECT *,
IF(`name` LIKE "%$searchterm%", 20,
IF(`name` LIKE "%$searchterm%", 10, 0)) +
IF(`address` LIKE "%$searchterm%", 5, 0) +
IF(`city` LIKE "%$searchterm%", 1, 0)
AS `weight`
FROM `table_name`
WHERE
(`name` LIKE "%$searchterm%" OR
`address` LIKE "%$searchterm%" OR
`city` LIKE "%$searchterm%")
ORDER BY `weight` DESC
LIMIT 20"
Gracias porque está trabajando casi a la perfección, la única cosa que tengo que saber cómo hacerlo es tener que hacer la búsqueda como el comodín%. Intenté%: searchterm% pero no me gustó eso. – chasen
nunca lo tengo. solo tuve que cambiar -> setParameter ('searchterm', $ searchterm) a -> setParameter ('searchterm', '%'. $ searchterm. '%') – chasen
La sintaxis 'CASE' también funciona con el generador de consultas Doctrine2. Muchas gracias. –