diff --git a/core/DataTable/Filter/ColumnDelete.php b/core/DataTable/Filter/ColumnDelete.php index 7df7a6296ea..44cc4880dfb 100644 --- a/core/DataTable/Filter/ColumnDelete.php +++ b/core/DataTable/Filter/ColumnDelete.php @@ -159,12 +159,18 @@ protected function removeColumnsFromTable(&$table) if(!$this->isArrayAccess($row)) { continue; } + foreach ($this->columnsToRemove as $column) { - - if (!array_key_exists($column, $row)) { + + if (is_array($row)) { + if (!array_key_exists($column, $row)) { + continue; + } + } elseif ($table instanceof \ArrayAccess) { + if (!$row->offsetExists($column)) { continue; + } } - if ($this->deleteIfZeroOnly) { $value = $row[$column]; if ($value === false || !empty($value)) {