* @package Mammut\DB\Sql */ trait Orderable { /** * Defines the row order of the query * * @param string|array $order * The order fields. Allowed values are column identifiers. Add a ! to order DESC. * @return $this */ public function order($order) { $orderResult = false; if(is_string($order)) { if(strpos($order, ',') !== false) $order = preg_split('#,\s+#', $order); else $order = [ $order ]; } elseif(!is_array($order)) $orderResult = [ $order ]; foreach($order as $k=>$v) { if(is_string($k)) $orderResult[$k] = $v; else { if (!is_array($orderResult)) { $orderResult = []; } $orderResult[] = $v; } } $this->setup[self::ORDER] = $orderResult; return $this; } }