(No version information available, might only be in Git)
CollectionFind::sort — Устанавливает критерии сортировки
Сортирует набор результатов по полю, выбранному в аргументе sort_expr. Разрешённые направления: ASC (по возрастанию) или DESC (по убыванию). Операция эквивалентна операции SQL 'ORDER BY' и соответствует тому же набору правил.
sort_expr
Можно указать одно или несколько выражений сортировки, Применяется слева направо, каждое выражение должно быть разделено запятой.
Объект CollectionFind, который можно использовать для выполнения команды или для добавления дополнительных операций.
Пример #1 Пример использования mysql_xdevapi\CollectionFind::sort()
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
$create
->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find()
->sort('job desc', 'age asc')
->execute();
var_dump($result->fetchAll());
?>
Вывод приведённого примера будет похож на:
array(2) { [0]=> array(4) { ["_id"]=> string(28) "00005b6b53610000000000000106" ["age"]=> int(18) ["job"]=> string(6) "Butler" ["name"]=> string(6) "Alfred" } [1]=> array(4) { ["_id"]=> string(28) "00005b6b53610000000000000107" ["age"]=> int(42) ["job"]=> string(6) "Butler" ["name"]=> string(8) "Reginald" } }