select() public method

Adds select clause, more calls appends to the end.
public select ( $columns, $params ) : self
return self
Exemplo n.º 1
0
Arquivo: DB.php Projeto: lohini/cf
 /**
  * @param array $mapping
  */
 public function setMapping(array $mapping)
 {
     parent::setMapping($mapping);
     foreach ($mapping as $k => $m) {
         $this->selection->select("{$m} AS `{$k}`");
     }
 }
Exemplo n.º 2
0
 public function select($columns)
 {
     if (!$this->sqlBuilder->getSelect()) {
         $this->sqlBuilder->addSelect("{$this->name}.{$this->column}");
     }
     return parent::select($columns);
 }
Exemplo n.º 3
0
 public function select($columns)
 {
     if (!$this->select) {
         $this->select[] = "{$this->delimitedName}.{$this->delimitedColumn}";
     }
     return parent::select($columns);
 }
Exemplo n.º 4
0
 public function setRelated($table, $key, $column, $as = NULL, $primary = 'id')
 {
     if (is_null($this->context)) {
         throw new Grid_Exception('Related require set Nette database context in constructor.');
     }
     $this->related[$table] = array($table, $key, $column, $as, $primary);
     $this->nette_table->select($table . '.' . $column . (!is_null($as) ? ' AS ' . $as : ''));
     return $this;
 }
Exemplo n.º 5
0
 protected function configure($presenter)
 {
     $this->selection->select("error.id, title, message, error_dt, project_id.name AS project_name, error_status_id.status AS status");
     $source = new \NiftyGrid\DataSource\NDataSource($this->selection);
     $self = $this;
     $this->setDataSource($source);
     $this->setDefaultOrder("error_dt DESC");
     $this->addColumn("project_name", "Project")->setTableName("project_id")->setSortable()->setSelectFilter($this->projectEntity->findAll()->fetchPairs("id", "name"));
     $this->addColumn("title", "Title")->setTextFilter()->setSortable();
     $this->addColumn("message", "Message")->setSortable()->setTextFilter()->setRenderer(function ($row) use($presenter) {
         return \Nette\Utils\Html::el("a")->setText(trim($row["message"]) ? Strings::truncate($row["message"], 60) : $row["id"])->addAttributes(array("target" => "_blank"))->href($presenter->link("ErrorList:display", $row["id"]));
     });
     $this->addColumn("status", "Status")->setTableName("error_status_id")->setSelectFilter($this->lstErrorStatus->findAll()->fetchPairs("id", "status"))->setRenderer(function ($row) use($presenter) {
         $label = "";
         if ($row["status"] == "New") {
             $label = "label-important";
         }
         return \Nette\Utils\Html::el("span")->setText($row["status"])->addAttributes(array("class" => "label {$label}"));
     });
     if (!isset($this->filter['status'])) {
         $this->filter['status'] = '1';
     }
     $this->addColumn("error_dt", "Date", "150px")->setDateFilter()->setSortable()->setRenderer(function ($row) {
         return $row["error_dt"]->format("j.n.Y H:i:s");
     });
     $this->addButton("archive", "Archive")->setText("Archive")->setAjax()->setLink(function ($row) use($presenter) {
         return $presenter->link("archive!", $row['id']);
     })->setClass("btn-success btn-solve");
     /*
     		$this->addButton("createTask", "Create Task")
     			->setText('Create task')
     			->setAjax()
     			->setLink(function($row) use ($presenter){return $presenter->link("createTask!", $row['id']);})
     			->setClass("btn-info");
     */
     $this->addAction("archive", "Archive")->setAjax(true)->setCallback(function ($selectedItems) use($self) {
         $self->handleArchive($selectedItems);
     });
     $this->addAction("unarchive", "Unarchive")->setAjax(true)->setCallback(function ($selectedItems) use($self) {
         $self->handleUnArchive($selectedItems);
     });
 }
 /**
  * @param \Nette\Database\Table\Selection $selection
  * @param string|Callable $callback
  */
 private function apply(Selection $selection, $callback)
 {
     if (!$callback) {
         return;
     }
     if (is_string($callback)) {
         $selection->select($callback);
     } else {
         $callback($selection);
     }
 }
Exemplo n.º 7
0
 public function aggregation($function)
 {
     $aggregation =& $this->refTable->aggregation[$function . implode('', $this->where) . implode('', $this->conditions)];
     if ($aggregation === NULL) {
         $aggregation = array();
         $selection = new Selection($this->name, $this->connection);
         $selection->where = $this->where;
         $selection->parameters = $this->parameters;
         $selection->conditions = $this->conditions;
         $selection->select($function);
         $selection->select("{$this->name}.{$this->column}");
         $selection->group("{$this->name}.{$this->column}");
         foreach ($selection as $row) {
             $aggregation[$row[$this->column]] = $row;
         }
     }
     if (isset($aggregation[$this->active])) {
         foreach ($aggregation[$this->active] as $val) {
             return $val;
         }
     }
 }
Exemplo n.º 8
0
 /**
  * @param string $select
  * @return self
  */
 public function setSelect($select)
 {
     $this->source->select($select);
     return $this;
 }
Exemplo n.º 9
0
 /**
  * Executes aggregation function.
  * @param  string
  * @return string
  */
 public function aggregation($function)
 {
     $selection = new Selection($this->name, $this->connection);
     $selection->where = $this->where;
     $selection->parameters = $this->parameters;
     $selection->conditions = $this->conditions;
     $selection->select($function);
     foreach ($selection->fetch() as $val) {
         return $val;
     }
 }