Сортировка результата (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); }