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

	$selectorKeywords = new TVPen($TVSession, 'get', 'keywords_2', 'keywords');
	$selectorKeywords->setData(['project_id' => $project_id]);
	$selectorKeywords->serOrders([
		TVFields::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);
	}