本文整理汇总了PHP中Illuminate\Database\Eloquent\Builder::getBindings方法的典型用法代码示例。如果您正苦于以下问题:PHP Builder::getBindings方法的具体用法?PHP Builder::getBindings怎么用?PHP Builder::getBindings使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Illuminate\Database\Eloquent\Builder
的用法示例。
在下文中一共展示了Builder::getBindings方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: remove
/**
* Remove the scope from the given Eloquent query builder.
*
* @param \Illuminate\Database\Eloquent\Builder $builder
*/
public function remove(Builder $builder)
{
$query = $builder->getQuery();
$bindings = $builder->getBindings();
foreach ((array) $query->wheres as $key => $where) {
if ($where['column'] == $this->getDraftColumn($builder)) {
unset($query->wheres[$key]);
unset($bindings[$key]);
$query->wheres = array_values($query->wheres);
}
}
$query->setBindings($bindings);
}
示例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: mergeModelDefinedRelationWheresToHasQuery
/**
* Merge the "wheres" from a relation query to a has query.
*
* @param \Illuminate\Database\Eloquent\Builder $hasQuery
* @param \Illuminate\Database\Eloquent\Relations\Relation $relation
* @return void
*/
protected function mergeModelDefinedRelationWheresToHasQuery(Builder $hasQuery, Relation $relation)
{
// Here we have the "has" query and the original relation. We need to copy over any
// where clauses the developer may have put in the relationship function over to
// the has query, and then copy the bindings from the "has" query to the main.
$relationQuery = $relation->getBaseQuery();
$hasQuery->mergeWheres($relationQuery->wheres, $relationQuery->getBindings());
$this->query->addBinding($hasQuery->getBindings(), 'where');
}
示例5: generateCacheKey
/**
* Generate a cache key
*
* @return string
*/
public function generateCacheKey()
{
return md5($this->model->getConnectionName() . $this->builder->toSql() . serialize($this->builder->getBindings()));
}
示例6: scopeToSubQuery
/**
* @param EloquentBuilder|QueryBuilder|Model $query
* @param string $key
* @param bool $returnExpression
*
* @return string
*/
public function scopeToSubQuery($query, $key, $returnExpression = false)
{
$index = 0;
$bindings = array();
if (!Str::contains($key, '.')) {
/** @var Model|BetterEloquentTrait $model */
$model = $query->getModel();
$key = $model->getField($key);
}
$sql = $query->select(array($key))->toSql();
foreach ($query->getBindings() as $binding) {
$bindings[] = is_array($binding) ? array_merge($bindings, $binding) : $binding;
}
while (Str::contains($sql, '?')) {
$sql = $this->replaceFirst('?', $bindings[$index++], $sql);
}
$sql = "({$sql})";
return $returnExpression ? new Expression($sql) : $sql;
}