CollectionFind::sort

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

CollectionFind::sortSet the sorting criteria

说锟斤拷

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

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

锟斤拷锟斤拷

sort_expr

One or more sorting expressions can be provided. The evaluation is from left to right, and each expression is separated by a comma.

锟斤拷锟斤拷值

A CollectionFind object that can be used to execute the command, or to add additional operations.

锟斤拷锟斤拷

Example #1 mysql_xdevapi\CollectionFind::sort() example

<?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"
  }
}