Esempio n. 1
0
 public function visitOrderBy(Segments\OrderBy $query)
 {
     $first = true;
     foreach ($query->getOrderings() as $orderFunction) {
         $direction = $this->resolvedParameters[$orderFunction->getIsAscendingId()] ? Direction::ASCENDING : Direction::DESCENDING;
         if ($first) {
             $this->traversable = $this->traversable->orderBy($this->resolvedParameters[$orderFunction->getProjectionFunction()->getCallableId()], $direction);
             $first = false;
         } else {
             $this->traversable = $this->traversable->thenBy($this->resolvedParameters[$orderFunction->getProjectionFunction()->getCallableId()], $direction);
         }
     }
 }