Symfony 条件内的多个orderby

Symfony 条件内的多个orderby,symfony,doctrine,Symfony,Doctrine,我当前使用这些条件来筛选对象集合。但是当我想用两个orderBy字段实现时,只考虑第一个字段。我不明白 $events = new Collections\ArrayCollection($results); $dateFrom = new \DateTime($date); $dateTo = new \DateTime(date('Y-m-d H:i:s', strtotime($date . ' + 1 day'))); $criteria = Criteria::create()

我当前使用这些条件来筛选对象集合。但是当我想用两个orderBy字段实现时,只考虑第一个字段。我不明白

$events = new Collections\ArrayCollection($results);
$dateFrom = new \DateTime($date);
$dateTo   = new \DateTime(date('Y-m-d H:i:s', strtotime($date . ' + 1 day')));

$criteria = Criteria::create()
    ->where(Criteria::expr()->eq('activity', $activity));

$criteria->orderBy(array(
    "time" => "ASC",
    "title" => "ASC"
));
我怎样才能使它与两个orderby字段一起工作,而不仅仅是第一个


提前感谢您的回答

假设$criteria随后正确应用于ArrayCollection,则代码是正确的

根据您试图排序的字段名称判断,标题可能不会影响排序,因为时间不会在集合中的元素之间重复

如果不是这样,请提供更多关于你得到的结果的信息,我会更新我的答案

根据已删除的附加数据进行更新:

您正在对集合进行正确排序。问题是,然后将ArrayCollection馈送到分页器中,显然分页器不能按多个字段进行排序


Knp的追踪器中有一个悬而未决的问题:。

您在提供附加信息的地方发布的答案已被删除,而不是合并到您的问题中,这是他们应该做的。尽管如此,我还是相应地更新了我的答案。一定要检查一下!