(No version information available, might only be in Git)
CollectionFind::sort — Устанавливает критерии сортировки
$sort_expr
) : mysql_xdevapi\CollectionFindСортирует набор результатов по полю, выбранному в аргументе 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" } }