{
if (method_exists($this->model,'ordering')) {
$ord = $this->model->ordering();
+ } elseif ($this->model->getTable()->getOrdering()) {
+ $ord = implode(', ', $this->model->getTable()->getOrdering());
} elseif ($this->model->getTable()->hasTemplate('IPF_ORM_Template_Orderable')) {
$ord = $this->model->getTable()->getTemplate('IPF_ORM_Template_Orderable')->getColumnName();
} else {
return $export;
}
+ private static function varExportList($list)
+ {
+ $export = array();
+ foreach ($list as $var) {
+ $export[] = self::varExport($var);
+ }
+ return 'array('.implode(', ', $export).')';
+ }
+
private function buildTableDefinition(array $definition)
{
if (isset($definition['inheritance']['type']) && ($definition['inheritance']['type'] == 'simple' || $definition['inheritance']['type'] == 'column_aggregation')) {
if (isset($definition['columns']) && is_array($definition['columns']) && !empty($definition['columns']))
$ret[] = $this->buildColumns($definition['columns']);
+ if (isset($definition['ordering']) && is_array($definition['ordering']) && !empty($definition['ordering']))
+ $ret[] = ' $table->setOrdering('.self::varExportList($definition['ordering']).');';
+
if (isset($definition['indexes']) && is_array($definition['indexes']) && !empty($definition['indexes']))
foreach ($definition['indexes'] as $indexName => $definitions)
$ret[] = " \$table->addIndex('" . $indexName . "', " . self::varExport($definitions) . ');';
'subclasses' => array(),
);
+ protected $_ordering = null;
+
protected $_parser;
protected $_templates = array();
$tpl->setTableDefinition($this);
}
+ public function setOrdering($ordering)
+ {
+ $this->_ordering = $ordering;
+ }
+
+ public function getOrdering()
+ {
+ return $this->_ordering;
+ }
+
public function bindQueryParts(array $queryParts)
{
$this->_options['queryParts'] = $queryParts;