Esempio n. 1
0
 /**
  * Retorna uma string com a relação de colunas
  *
  * @return string
  * */
 public function renderColumns()
 {
     $columns = array();
     foreach ($this->_entity->columns() as $column) {
         if (FALSE == isset($column->database)) {
             // @codeCoverageIgnoreStart
             continue;
             // @codeCoverageIgnoreEnd
         }
         $column = Column::factory($column->name, $this->_entity, 'database');
         if ($column) {
             $columns[] = $column->render();
         }
     }
     return implode(', ', $columns);
 }
Esempio n. 2
0
 /**
  * Representação textual do comando.
  *
  * @return string
  * */
 public function render()
 {
     $column = current(preg_split('/\\s*AS\\s*/', $this->_column->render()));
     return sprintf('%s %s %s', $column, $this::T_COMMAND, $this->converteValue($this->_value));
 }
Esempio n. 3
0
 /**
  * Adiciona uma coluna a Query
  *
  * <p>
  *    Sendo $coluna uma string, sera verificado em Entity a existencia de uma coluna que corresponda ao string
  *    informado e se nenhuma correpondencia for encontrada uma exception do tioi IllegalArgumentException sera
  *    lancada.
  * </p>
  * <p>
  *    Sendo $column do tipo database/Column esta sera adicionado diretamente
  * </p>
  *
  * @example database::Query::addColumn
  * <code>
  * <?php
  *   # vide Query::factory
  *   $query = Query::factory(...);
  *
  *   # adiciona uma coluna a query informando o nome da mesma
  *   $query->addColumn('columnNam');
  *
  *   # adiciona uma coluna informando um objeto
  *   $column = Column::factory(...);
  *   $query->addColumn($column);
  * ?>
  * </code>
  *
  * @override
  * <ul>
  *     <li>Query::addColumn(string $column)</li>
  *     <li>Query::addColumn(Column $column)</li>
  * </ul>
  *
  * @param $column
  * @return Query
  * @throws IllegalArgumentException
  * */
 public function addColumn($column)
 {
     if (TRUE == is_string($column)) {
         $column = Column::factory($column, $this->_entity, 'database');
     }
     $this->_select->addColumn($column);
     return $this;
 }
Esempio n. 4
0
 /**
  * Adiciona coluna
  *
  * @param Column $column
  * @return SelectAbstract
  * */
 public function addColumn(Column $column)
 {
     if ($column->name() instanceof Expression) {
         $name = $column->alias();
     } else {
         $name = $column->name();
     }
     $this->_columns[$name] = $column;
     return $this;
 }