ConFoo 2025

CollectionFind::sort

(No version information available, might only be in Git)

CollectionFind::sortУстанавливает критерии сортировки

Описание

public mysql_xdevapi\CollectionFind::sort(string $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"
  }
}
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top