interface SS_Sortable implements SS_List (View source)

Additional interface for 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

public
array
toArray()

Returns all the items in the list in an array.

from  SS_List
public
array
toNestedArray()

Returns the contents of the list as an array of maps.

from  SS_List
public
add(mixed $item)

Adds an item to the list, making no guarantees about where it will appear.

from  SS_List
public
remove(mixed $item)

Removes an item from the list.

from  SS_List
public
mixed
first()

Returns the first item in the list.

from  SS_List
public
mixed
last()

Returns the last item in the list.

from  SS_List
public
array
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.

from  SS_List
public
mixed
find(string $key, mixed $value)

Returns the first item in the list where the key field is equal to the value.

from  SS_List
public
array
column(string $colName = "ID")

Returns an array of a single field value for all items in the list.

from  SS_List
public
mixed
each(callable $callback)

Walks the list using the specified callback

from  SS_List
public
bool
canSortBy(string $by)

Returns TRUE if the list can be sorted by a field.

public
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.

public
reverse()

Return a new instance of this list based on reversing the current sort.

Details

array toArray()

Returns all the items in the list in an array.

Return Value

array

array toNestedArray()

Returns the contents of the list as an array of maps.

Return Value

array

add(mixed $item)

Adds an item to the list, making no guarantees about where it will appear.

Parameters

mixed $item

remove(mixed $item)

Removes an item from the list.

Parameters

mixed $item

mixed first()

Returns the first item in the list.

Return Value

mixed

mixed last()

Returns the last item in the list.

Return Value

mixed

array 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.

Parameters

string $keyfield
string $titlefield

Return Value

array

mixed find(string $key, mixed $value)

Returns the first item in the list where the key field is equal to the value.

Parameters

string $key
mixed $value

Return Value

mixed

array column(string $colName = "ID")

Returns an array of a single field value for all items in the list.

Parameters

string $colName

Return Value

array

mixed each(callable $callback)

Walks the list using the specified callback

Parameters

callable $callback

Return Value

mixed

bool canSortBy(string $by)

Returns TRUE if the list can be sorted by a field.

Parameters

string $by

Return Value

bool

SS_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.

Return Value

SS_Sortable

Examples

$list = $list->sort('Name'); // default ASC sorting
$list = $list->sort('Name DESC'); // DESC sorting
$list = $list->sort('Name', 'ASC');
$list = $list->sort(array('Name'=>'ASC,'Age'=>'DESC'));

SS_Sortable reverse()

Return a new instance of this list based on reversing the current sort.

Return Value

SS_Sortable

Examples

$list = $list->reverse();