Próbuję utworzyć ważone wyszukiwanie przy użyciu doktryny. Tak to robię w prostym sql. Zastanawiam się, jak przekonwertować to do nas metody doktryny2. Próbuję wykonać to wyszukiwanie przy użyciu symfony2.Jak skonwertować złożone kwerendy MySQL do Doctrine2
Również, jeśli jest lepszy sposób na to, jestem otwarty na to. Dzięki.
"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"
Dziękuję, że działa prawie idealnie, jedyną rzeczą, że muszę wiedzieć, jak to zrobić jest mieć to zrobić wyszukiwanie jak z symboli wieloznacznych%. Próbowałem%: searchterm%, ale tak nie było. – chasen
Nieważne, mam to. musiałem zmienić -> setParameter ("searchterm", $ searchterm) na -> setParameter ("searchterm", "%". $ searchterm. '%') – chasen
Składnia 'CASE' działa również z budowniczym zapytań Doctrine2. Wielkie dzięki. –