/** * sets query orderings from given array/string * * @param \TYPO3\CMS\Extbase\Persistence\QueryInterface &$query * @param array|string|null * @return void */ protected function setQueryOrderings(QueryInterface &$query, $orderings = NULL) { $setOrderings = []; if (!is_null($orderings) && is_string($orderings)) { $orderings = [$orderings => QueryInterface::ORDER_ASCENDING]; } if (is_array($orderings)) { foreach ($orderings as $field => $direction) { if (strtolower($direction) == "desc") { $setOrderings[$field] = QueryInterface::ORDER_DESCENDING; } else { $setOrderings[$field] = QueryInterface::ORDER_ASCENDING; } } if (count($setOrderings)) { $query->setOrderings($setOrderings); } } }
/** * Adds handle of ordering to query object * * @param \TYPO3\CMS\Extbase\Persistence\QueryInterface $query * @return void */ protected function handleOrdering(\TYPO3\CMS\Extbase\Persistence\QueryInterface $query) { $query->setOrderings(array($this->orderBy => $this->orderDirection)); }
/** * Sets the ordering to the given query for the given demand * * @param \TYPO3\CMS\Extbase\Persistence\QueryInterface $query Query * @param \DERHANSEN\SfEventMgt\Domain\Model\Dto\EventDemand $eventDemand EventDemand * * @return void */ protected function setOrderingsFromDemand($query, EventDemand $eventDemand) { $orderings = array(); if ($eventDemand->getOrderField() != '' && $eventDemand->getOrderDirection() != '') { $orderings[$eventDemand->getOrderField()] = strtolower($eventDemand->getOrderDirection()) == 'desc' ? \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING : \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING; $query->setOrderings($orderings); } }
/** * @param array $orderings */ public function setOrderings(array $orderings) { $this->query->setOrderings($orderings); }