Как преобразовать сложный запрос MySQL в Doctrine2

Я пытаюсь создать взвешенный поиск, используя доктрину. Вот как я это делаю в прямом sql. Мне интересно, как я могу преобразовать его в методы доктрины2. Я пытаюсь выполнить этот поиск с помощью symfony2.

Кроме того, если есть лучший способ сделать это, я открыт для этого. Спасибо.

"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"
10
задан chasen 20 March 2012 в 19:37
поделиться