lithium\data\Collection::sort()
Overrides
lithium\util\Collection::sort()
Sorts the objects in the collection, useful in situations where you are already using the underlying datastore to sort results.
Overriden to load any data that has not yet been loaded.
Parameters
-
string|callable
$field
The field to sort the data on, can also be a callback to a custom sort function.
-
array
$options
Reserved for future use.
Returns
lithium\data\CollectionReturns itself.
Source
public function sort($field = 'id', array $options = []) {
$this->offsetGet(null);
if (is_string($field)) {
$sorter = function ($a, $b) use ($field) {
if (is_array($a)) {
$a = (object) $a;
}
if (is_array($b)) {
$b = (object) $b;
}
return strcmp($a->$field, $b->$field);
};
} elseif (is_callable($field)) {
$sorter = $field;
} else {
return $this;
}
return parent::sort($sorter, $options);
}