private static function getForeignColsSelection($class, $selectedColumns, $refTables) { $tableMap = afMetaDb::getTableMap($class); $duplication = false; $joined = array(); $selectedFCols = array(); $excludedFCols = array(); foreach ($tableMap->getColumns() as $col) { $relatedTable = $col->getRelatedTableName(); if ($relatedTable) { if (in_array($relatedTable, $refTables) || in_array(strtolower($col->getName()), $selectedColumns)) { if (isset($joined[$relatedTable])) { // It prevents multiple joins to the same table. $duplication = true; $excludedFCols[] = $col; } else { $joined[$relatedTable] = true; $selectedFCols[] = $col; } } else { $excludedFCols[] = $col; } } } return array($duplication, $selectedFCols, $excludedFCols); }
private function prepareGetters() { $tableMap = afMetaDb::getTableMap($this->class); $getters = array(); foreach ($this->selectedColumns as $column) { $getters[$column] = $this->createGetter($tableMap, $column); } return $getters; }
public function setSort($column, $sortDir = 'ASC') { $this->initialized = false; $tableMap = afMetaDb::getTableMap($this->class); $this->sortDir = $sortDir; if (!StringUtil::isIn('.', $column) && $tableMap->hasColumn($column)) { $this->sortColumn = $column; $this->sortColumn = $tableMap->getColumn($column)->getFullyQualifiedName(); } else { $this->sortColumn = false; } }