这是使用Doctrine2的WHERE IN表达式处理有序数组的正确方法吗?
|
使用Zend Lucene Search,我将返回一个按相关性排序的ID列表,这些ID映射到将从数据库中获取的博客记录。
这是使用Doctrine2的WHERE IN表达式处理数组的正确方法:
$dql = \"SELECT b FROM BlogPost WHERE b.id IN (\" . implode(\', \', $ids) . \")\";
$query = $em->createQuery($dql);
...
还是有更好的方法可以将实际的“ 1”数组作为参数传递给查询?
此外,Zend Search会根据相关性返回ID数组。使用上述技术是否可以保留检索博客文章的相关性顺序?
没有找到相关结果
已邀请:
2 个回复
芳菱挨啡
它比较干净,但与屏幕后面的功能相同。
诧不达
我认为IN语句不会保留传递的ID的顺序,因为IN会匹配第一个找到的$ id,而不取决于顺序。