public function attachTo(AbstractTableSection $table) { $attachedColumn = $table->findColumnByAlias($this->name); if (isset($attachedColumn)) { if (isset($this->alias)) { $attachedColumn->alias = $this->alias; } $attachedColumn->visible = $this->visible; } else { $attachedColumn = $this; $table->columns[] = $attachedColumn; } return $attachedColumn; }
public function attachTo(AbstractTableSection $table) { list(, $columnName) = ReferencePathHelper::splitReference($this->name); $attachedColumn = $table->findColumnByAlias($columnName); if (isset($attachedColumn)) { if (isset($this->alias)) { $attachedColumn->alias = $this->alias; } $attachedColumn->visible = $this->visible; } else { $attachedColumn = $this; $table->columns[] = $attachedColumn; } return $attachedColumn; }
public function assemble(Statement $statement, AbstractTableSection $table, $useTableNameAsAlias) { list($referencedDatasetName, $referencedColumnName) = ReferencePathHelper::splitReference($this->subjectColumnName); $columnByAlias = $table->findColumnByAlias($referencedColumnName); $column = isset($columnByAlias) ? $table->findColumn($referencedColumnName) : NULL; $selectedColumn = isset($columnByAlias) && isset($column) ? $column : $columnByAlias; $tableAlias = $table->prepareColumnTableAlias($useTableNameAsAlias); return (isset($selectedColumn) ? $selectedColumn->assembleColumnName($tableAlias) : ColumnNameHelper::combineColumnName($tableAlias, $referencedColumnName)) . $this->joinValue->assemble($statement, $useTableNameAsAlias); }