diff --git a/src/ORM/ArrayList.php b/src/ORM/ArrayList.php index 5d1ad744b..a358713b6 100644 --- a/src/ORM/ArrayList.php +++ b/src/ORM/ArrayList.php @@ -302,6 +302,10 @@ class ArrayList extends ViewableData implements SS_List, Filterable, Sortable, L */ public function first() { + if (empty($this->items)) { + return null; + } + return reset($this->items); } @@ -312,6 +316,10 @@ class ArrayList extends ViewableData implements SS_List, Filterable, Sortable, L */ public function last() { + if (empty($this->items)) { + return null; + } + return end($this->items); } @@ -514,12 +522,12 @@ class ArrayList extends ViewableData implements SS_List, Filterable, Sortable, L */ public function canFilterBy($by) { - $firstRecord = $this->first(); - - if ($firstRecord === false) { + if (empty($this->items)) { return false; } + $firstRecord = $this->first(); + return array_key_exists($by, $firstRecord); }