У вас есть несколько вариантов в зависимости от того, чего вы хотите достичь:
Установка порядка по умолчанию для всего хранилища
Добавьте следующее в свой класс репозитория
protected $defaultOrderings =
array(
'department' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
'salary' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
);
Это будет применяться ко всем запросам, сделанным в этом хранилище.
см .: https://wiki.typo3.org/Default_Orderings_and_Query_Settings_in_Repository
Установка порядка для одного запроса
Добавьте это к запросу, который вы определили в своем хранилище
$query->setOrderings(
array(
'department' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
'salary' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
)
);
Таким образом, вы могли бы (и должны были) реализовать разные методы доступа для каждого порядка сортировки, который вы хотели бы получить.
см .: https://docs.typo3.org/typo3cms/ExtbaseFluidBook/6-Persistence/3-implement-individual-database-queries.html
Сортировать результат
Вы всегда можете использовать методы сортировки PHP, чтобы отсортировать результат запроса (возможно, преобразовав его в массив с ->toArray()
первым.