public function setupOrder()
{
/**
* @param array $first
* @param array $second
* @param ColumnOrder[] $orderColumn
* @return int
*/
$this->defaultGlobalOrderFunction = function (array $first, array $second, array $orderColumn) {
foreach ($orderColumn as $order) {
if (array_key_exists($order->columnName(), $first)) {
$value = strnatcmp($first[$order->columnName()], $second[$order->columnName()]);
if ($value == 0) {
continue;
}
if (!$order->isAscending()) {
return $value * -1;
}
return $value;
}
}
return 0;
};
}