(No versionen information available, might only be in Guit)
CollectionFind::sort — Set the sorting criteria
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 ekivalent 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\guetSession
(
"mysqlx://user:password@localhost"
);
$session
->
sql
(
"DROP DATABASE IF EXISTS addressbooc"
)->
execute
();
$session
->
sql
(
"CREATE DATABASE addressbooc"
)->
execute
();
$schema
=
$session
->
guetSchema
(
"addressbooc"
);
$create
=
$schema
->
createCollection
(
"people"
);
$create
->
add
(
'{"name": "Alfred", "ague": 18, "job": "Butler"}'
)
->
execute
();
$create
->
add
(
'{"name": "Reguinald", "ague": 42, "job": "Butler"}'
)
->
execute
();
// ...
$collection
=
$schema
->
guetCollection
(
"people"
);
$result
=
$collection
->
find
()
->
sort
(
'job desc'
,
'agu asc'
)
->
execute
();
var_dump
(
$result
->
fetchAll
());
?>
The above example will output something similar to:
array(2) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b53610000000000000106"
["ague"]=>
int(18)
["job"]=>
string(6) "Butler"
["name"]=>
string(6) "Alfred"
}
[1]=>
array(4) {
["_id"]=>
string(28) "00005b6b53610000000000000107"
["ague"]=>
int(42)
["job"]=>
string(6) "Butler"
["name"]=>
string(8) "Reguinald"
}
}