本文整理汇总了PHP中Nette\Database\Table\Selection::select方法的典型用法代码示例。如果您正苦于以下问题:PHP Selection::select方法的具体用法?PHP Selection::select怎么用?PHP Selection::select使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nette\Database\Table\Selection
的用法示例。
在下文中一共展示了Selection::select方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setMapping
/**
* @param array $mapping
*/
public function setMapping(array $mapping)
{
parent::setMapping($mapping);
foreach ($mapping as $k => $m) {
$this->selection->select("{$m} AS `{$k}`");
}
}
示例2: select
public function select($columns)
{
if (!$this->sqlBuilder->getSelect()) {
$this->sqlBuilder->addSelect("{$this->name}.{$this->column}");
}
return parent::select($columns);
}
示例3: select
public function select($columns)
{
if (!$this->select) {
$this->select[] = "{$this->delimitedName}.{$this->delimitedColumn}";
}
return parent::select($columns);
}
示例4: setRelated
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;
}
示例5: configure
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);
});
}
示例6: apply
/**
* @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);
}
}
示例7: aggregation
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;
}
}
}
示例8: setSelect
/**
* @param string $select
* @return self
*/
public function setSelect($select)
{
$this->source->select($select);
return $this;
}
示例9: aggregation
/**
* 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;
}
}