使用 Zend Lucene Search,我返回了一个相关性排序的 ID 列表,这些 ID 映射到我将从数据库中获取的博客记录。
这是使用 Doctrine2 的 WHERE IN 表达式处理数组的正确方法吗:
$dql = "SELECT b FROM BlogPost WHERE b.id IN (" . implode(', ', $ids) . ")";
$query = $em->createQuery($dql);
...
或者有没有更好的方法可以将实际$ids
数组作为参数传递给查询?
此外,Zend Search 根据相关性返回 ID 数组。使用上述技术会保留检索博客文章的相关顺序吗?