protected final function get_order($order = null, $cascade = false) { $order = moojon_db_driver::escapes($order, $this->get_table(), $this->get_column_names()); if (!$order) { $order_columns = $this->get_order_column_names(); if (count($order_columns)) { foreach ($order_columns as $key => $value) { $order_columns[$key] = $order_columns[$key] . ' ' . $this->order_direction; } $order = implode(', ', $order_columns); } else { $order = $this->order_column . ' ' . $this->order_direction; } $order = moojon_db_driver::escapes($order, $this->get_table(), $this->get_column_names()); } if ($cascade) { foreach ($this->get_relationships() as $relationship) { $instance = self::factory($relationship->get_foreign_class()); $order = moojon_db_driver::escapes($order, $instance->get_table(), $instance->get_column_names()); } } return $order; }