ConFoo 2025

CollectionFind::sort

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

CollectionFind::sortSetzt die Kriterien für die Sortierung

Beschreibung

public mysql_xdevapi\CollectionFind::sort(string $sort_expr): mysql_xdevapi\CollectionFind

Sortiert die Ergebnismenge nach der im Argument sort_expr ausgewählten Spalte. Möglich sind die Reihenfolgen ASC (aufsteigend) und DESC (absteigend). Diese Operation entspricht der SQL-Operation 'ORDER BY' und folgt denselben Regeln.

Parameter-Liste

sort_expr

Es können ein oder mehrere durch Komma getrennte Sortierausdrücke angegeben werden. Die Auswertung erfolgt von links nach rechts.

Rückgabewerte

Gibt ein CollectionFind-Objekt zurück, das verwendet werden kann, um den Befehl auszuführen oder um weitere Operationen hinzuzufügen.

Beispiele

Beispiel #1 mysql_xdevapi\CollectionFind::sort()-Beispiel

<?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());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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"
  }
}
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top