Relation
interface Relation implements SS_List, Filterable, Sortable, Limitable
Abstract representation of a DB relation field, either saved or in memory
Below methods will be added in 5.x
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 filtered by a given field expression.
Return a new instance of this list that only includes items with these charactaristics
Return a copy of this list which contains items matching any of these charactaristics.
Return a new instance of this list that excludes any items with these charactaristics
Return a new instance of this list that excludes any items with these charactaristics Filter this List by a callback function. The function will be passed each record of the List in turn, and must return true for the record to be included. Returns the filtered list.
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.
Returns a new instance of this list where no more than $limit records are included.
Sets the ComponentSet to be the given ID list.
Returns an array with both the keys and values set to the IDs of the records in this list.
Return the DBField object that represents the given field on the related class.
No description
No description
No description
Details
in SS_List at line 20
array
toArray()
Returns all the items in the list in an array.
in SS_List at line 27
array
toNestedArray()
Returns the contents of the list as an array of maps.
in SS_List at line 35
add(mixed $item)
Adds an item to the list, making no guarantees about where it will appear.
in SS_List at line 42
remove(mixed $item)
Removes an item from the list.
in SS_List at line 49
mixed
first()
Returns the first item in the list.
in SS_List at line 56
mixed
last()
Returns the last item in the list.
in SS_List at line 66
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.
in SS_List at line 76
mixed
find(string $key, mixed $value)
Returns the first item in the list where the key field is equal to the value.
in SS_List at line 84
array
column(string $colName = "ID")
Returns an array of a single field value for all items in the list.
in SS_List at line 92
$this
each(callable $callback)
Walks the list using the specified callback
in Filterable at line 22
bool
canFilterBy(string $by)
Returns TRUE if the list can be filtered by a given field expression.
in Filterable at line 35
Filterable
filter()
Return a new instance of this list that only includes items with these charactaristics
in Filterable at line 59
Filterable
filterAny()
Return a copy of this list which contains items matching any of these charactaristics.
in Filterable at line 72
Filterable
exclude()
Return a new instance of this list that excludes any items with these charactaristics
in Filterable at line 83
Filterable
filterByCallback(callable $callback)
Return a new instance of this list that excludes any items with these charactaristics Filter this List by a callback function. The function will be passed each record of the List in turn, and must return true for the record to be included. Returns the filtered list.
in Filterable at line 91
mixed
byID(int $id)
Return the first item with the given ID
in Filterable at line 99
SS_List
byIDs(array $ids)
Filter this list to only contain the given Primary IDs
in Sortable at line 22
bool
canSortBy(string $by)
Returns TRUE if the list can be sorted by a field.
in Sortable at line 34
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.
in Sortable at line 43
Sortable
reverse()
Return a new instance of this list based on reversing the current sort.
in Limitable at line 25
Limitable
limit(int $limit, int $offset)
Returns a new instance of this list where no more than $limit records are included.
If $offset is specified, then that many records at the beginning of the list will be skipped. This matches the behaviour of the SQL LIMIT clause.
at line 25
setByIDList(array $idList)
Sets the ComponentSet to be the given ID list.
Records will be added and deleted as appropriate.
at line 34
array
getIDList()
Returns an array with both the keys and values set to the IDs of the records in this list.
Does not return the IDs for unsaved DataObjects
at line 42
DBField
dbObject(string $fieldName)
Return the DBField object that represents the given field on the related class.