private function get_order_by(array $args)
{
if (!empty($args['order_by'])) {
$order_by = array_filter((array) $args['order_by'], [$this, 'is_array_with_valid_field']);
if ($order_by) {
$order_by = array_map(function (array $order_by) {
$order = empty($order_by['order']) || 'DESC' !== strtoupper($order_by['order']) ? 'ASC' : 'DESC';
return "{$order_by['field']} {$order}";
}, $order_by);
return 'ORDER BY ' . implode(', ', $order_by);
}
}
return '';
}