Sortable
interface Sortable implements SS_List (View source)
Additional interface for {@link SS_List} classes that are sortable.
All methods in this interface are immutable - they should return new instances with the sort applied, rather than applying the sort in place
Methods
Adds an item to the list, making no guarantees about where it will appear.
Returns a map of a key field to a value field of all the items in the list.
Returns the first item in the list where the key field is equal to the value.
Returns an array of a single field value for all items in the list.
Returns TRUE if the list can be sorted by a field.
Return a new instance of this list that is sorted by one or more fields. You can either pass in a single field name and direction, or a map of field names to sort directions.
Details
array
toArray()
Returns all the items in the list in an array.
array
toNestedArray()
Returns the contents of the list as an array of maps.
add(mixed $item)
Adds an item to the list, making no guarantees about where it will appear.
remove(mixed $item)
Removes an item from the list.
mixed
first()
Returns the first item in the list.
mixed
last()
Returns the last item in the list.
Map
map(string $keyfield = 'ID', string $titlefield = 'Title')
Returns a map of a key field to a value field of all the items in the list.
mixed
find(string $key, mixed $value)
Returns the first item in the list where the key field is equal to the value.
array
column(string $colName = "ID")
Returns an array of a single field value for all items in the list.
$this
each(callable $callback)
Walks the list using the specified callback
bool
canSortBy(string $by)
Returns TRUE if the list can be sorted by a field.
Sortable
sort()
Return a new instance of this list that is sorted by one or more fields. You can either pass in a single field name and direction, or a map of field names to sort directions.
Sortable
reverse()
Return a new instance of this list based on reversing the current sort.