private function compileArray($columns)
{
$self = $this;
$this->workingCollection = $this->collection->map(function ($row) use($columns, $self) {
$entry = array();
// add class and id if needed
if (!is_null($self->getRowClass()) && is_callable($self->getRowClass())) {
$entry['DT_RowClass'] = call_user_func($self->getRowClass(), $row);
}
if (!is_null($self->getRowId()) && is_callable($self->getRowId())) {
$entry['DT_RowId'] = call_user_func($self->getRowId(), $row);
}
$i = 0;
foreach ($columns as $col) {
if ($self->getAliasMapping()) {
$entry[$col->getName()] = $col->run($row);
} else {
$entry[$i] = $col->run($row);
}
$i++;
}
return $entry;
});
}