Сортировка результата (orders)
Данный параметр предназначен только для операций чтения, т.е. для работы с оператором
get.
В некоторых методах этот параметр может использоваться в связке с оператором edit для
пересортировки объектов.
Сортировка по умолчанию зависит от конкретного метода.
Структура параметра orders
orders представляет собой массив, содержащий объекты сортируемых полей fieldOrder.
Объект сортируемого поля имеет следующие характеристики:
- fieldOrder.name - имя поля
- fieldOrder.direction - направление сортировки (ASC или DESC)
Примеры
Для примера получим список ключевых слов, добавленных в ядро проекта NN и отсортированных по алфавиту в обратном порядке.
Запрос
POST /v2/json/get/keywords_2/keywords/
{"project_id": /* id проекта (число) */}
Результат
{"result":[{"id":"80764821","name":"тестовый запрос 1"},{"id":"80764822","name":"тестовый запрос 2"},{"id":"80764823","name":"тестовый запрос 3"},{"id":"80764824","name":"тестовый запрос 4"},{"id":"80764825","name":"тестовый запрос 5"}]}
Запрос
POST /v2/json/get/keywords_2/keywords/
{"project_id": /* id проекта (число) */, "orders":[{"name":"name","direction":"DESC"}]}
Результат
{"result":[{"id":"80764825","name":"тестовый запрос 5"},{"id":"80764824","name":"тестовый запрос 4"},{"id":"80764823","name":"тестовый запрос 3"},{"id":"80764822","name":"тестовый запрос 2"},{"id":"80764821","name":"тестовый запрос 1"}]}
Пример SDK
Для примера получим список ключевых слов, добавленных в ядро проекта NN и отсортированных по алфавиту в обратном порядке.
<?php
$projectId = '%NN%'; // ID of your project
$TVSession = new TV\Session();
$selectorKeywords = new TV\Pen($TVSession, 'get', 'keywords_2', 'keywords');
$selectorKeywords->setData(['project_id' => $project_id]);
$selectorKeywords->serOrders([
TV\Fields::genOrderData('name', 'DESC')
]);
$page = $selectorKeywords->exec();
if(is_null($page->getResult())) return var_dump($page->getErrors());
// $page - array of keywords
foreach($page->getResult() as $resultItem){
var_dump($resultItem);
}