本文整理汇总了PHP中Illuminate\Database\Eloquent\Builder::toSql方法的典型用法代码示例。如果您正苦于以下问题:PHP Builder::toSql方法的具体用法?PHP Builder::toSql怎么用?PHP Builder::toSql使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Illuminate\Database\Eloquent\Builder
的用法示例。
在下文中一共展示了Builder::toSql方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getItems
public function getItems($limit, $offset)
{
$builder = $this->query->getQuery();
if ($builder->groups || $builder->unions) {
$row = DB::selectOne("SELECT COUNT(*) qty FROM (" . $this->query->toSql() . ") sub", $this->query->getBindings());
$total = (int) $row->qty;
} else {
$total = $this->query->count();
}
$pageOfItems = $this->query->skip($offset)->take($limit)->get();
return [$pageOfItems, $total];
}
示例2: toSql
public function toSql()
{
$this->newQuery();
return $this->query->toSql();
}
示例3: getQueryPreview
/**
* Get a preview of what query will be run from a query builder.
*
* This DOES NOT run the query so it can be used for debugging potentially memory-intensive queries.
*
* @param QueryBuilder $query
* @return string
*/
public static function getQueryPreview(QueryBuilder $query = null)
{
if (empty($query)) {
return "";
}
$sql = str_replace('?', "'%s'", $query->toSql());
$bindings = $query->getBindings();
return vsprintf($sql, $bindings);
}
示例4: mergeQueries
/**
* Merge our cloned query builder with the original one.
*
* @param \Illuminate\Database\Eloquent\Builder $clone
* @param \Illuminate\Database\Eloquent\Builder $original
*/
protected function mergeQueries(Builder $clone, Builder $original)
{
$original->from(DB::connection($this->connection)->raw("({$clone->toSql()}) as `{$this->getTable()}`"));
$original->mergeBindings($clone->getQuery());
}
示例5: mergeQueries
/**
* Merge our cloned query builder with the original one.
*
* @param \Illuminate\Database\Eloquent\Builder $clone
* @param \Illuminate\Database\Eloquent\Builder $original
*/
protected function mergeQueries(Builder $clone, Builder $original)
{
if ($this->getDatabaseDriver() == 'pgsql') {
$original->from(DB::connection($this->connection)->raw("({$clone->toSql()}) as {$this->getTable()}"));
} else {
$original->from(DB::connection($this->connection)->raw("({$clone->toSql()}) as `{$this->getTable()}`"));
}
$original->mergeBindings($clone->getQuery());
}
示例6: mergeQueries
/**
* Merge our cloned query builder with the original one.
*
* @param \Illuminate\Database\Eloquent\Builder $clone
* @param \Illuminate\Database\Eloquent\Builder $original
*/
protected function mergeQueries(Builder $clone, Builder $original)
{
$prefix = App::$Database->connection($this->connection)->getTablePrefix();
$tableName = $prefix . $this->getTable();
if ($this->getDatabaseDriver() == 'pgsql') {
$original->from(App::$Database->connection($this->connection)->raw("({$clone->toSql()}) as {$tableName}"));
} else {
$original->from(App::$Database->connection($this->connection)->raw("({$clone->toSql()}) as `{$tableName}`"));
}
$original->mergeBindings($clone->getQuery());
}
示例7: debug
public function debug()
{
dd($this->query->toSql());
}
示例8: generateCacheKey
/**
* Generate a cache key
*
* @return string
*/
public function generateCacheKey()
{
return md5($this->model->getConnectionName() . $this->builder->toSql() . serialize($this->builder->getBindings()));
}
示例9: toSql
/**
* Get the SQL representation of the Filterer query.
*
* @return string
*/
public function toSql()
{
return $this->builder->toSql();
}