Заказать запрос по вводу - PullRequest
2 голосов
/ 06 февраля 2012

У меня есть запрос в таблице под названием article.

$q = Doctrine_Query::create()
                    ->from('article a')
                    ->WhereIn('a.name', $input)
                    ->execute();

$input = array(
    0 => Tomato,
    1 => Apple,
    2 => Banana
); 

Я нахожу все входные данные. Но результат запроса - другой порядок: яблоко, банан, помидор. Я хочу порядок как вход? Как я могу это понять?

1 Ответ

2 голосов
/ 08 февраля 2012

Я использовал что-то подобное в проекте, в котором MySQL использовалась в качестве СУБД:

$ids = array(2,9,3,64,23,38); // example IDs
$qry->addOrderBy("FIND_IN_SET(q.id, '" . implode(",", $ids) . "')");

Это был проект, в котором значения в $ids были известны и заслуживали доверия и были получены из поиска Xapian.запрос, который был упорядочен по релевантности поисковому запросу.Использование FIND_IN_SET() позволило мне получить нужные документы и представить их в порядке актуальности на странице результатов поиска.

Отказ от ответственности: я не знаю уровень поддержки этой функции, нов то время меня это устраивало: -)

...