From d5b0ae8e61a177c87e11210642fe74f2c057b41e Mon Sep 17 00:00:00 2001 From: din9xtr Date: Tue, 10 Feb 2026 18:44:17 +0700 Subject: [PATCH] ignore _ide_helper.php --- laravel/.gitignore | 2 + laravel/_ide_helper.php | 4982 --------------------------------------- 2 files changed, 2 insertions(+), 4982 deletions(-) delete mode 100644 laravel/_ide_helper.php diff --git a/laravel/.gitignore b/laravel/.gitignore index 5504403..8da9d7e 100644 --- a/laravel/.gitignore +++ b/laravel/.gitignore @@ -26,3 +26,5 @@ yarn-error.log /.nova /.vscode /.zed +_ide_helper.php + diff --git a/laravel/_ide_helper.php b/laravel/_ide_helper.php deleted file mode 100644 index ae037bf..0000000 --- a/laravel/_ide_helper.php +++ /dev/null @@ -1,4982 +0,0 @@ - - * @see https://github.com/barryvdh/laravel-ide-helper - */ - -namespace { - - /** - * @template TCollection of static - * @template TModel of static - * @template TValue of static - * @template TValue of static - */ - class Eloquent extends \Illuminate\Database\Eloquent\Model { /** - * Create and return an un-saved model instance. - * - * @param array $attributes - * @return TModel - * @static - */ - public static function make($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->make($attributes); - } - - /** - * Register a new global scope. - * - * @param string $identifier - * @param \Illuminate\Database\Eloquent\Scope|\Closure $scope - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withGlobalScope($identifier, $scope) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withGlobalScope($identifier, $scope); - } - - /** - * Remove a registered global scope. - * - * @param \Illuminate\Database\Eloquent\Scope|string $scope - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withoutGlobalScope($scope) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutGlobalScope($scope); - } - - /** - * Remove all or passed registered global scopes. - * - * @param array|null $scopes - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withoutGlobalScopes($scopes = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutGlobalScopes($scopes); - } - - /** - * Remove all global scopes except the given scopes. - * - * @param array $scopes - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withoutGlobalScopesExcept($scopes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutGlobalScopesExcept($scopes); - } - - /** - * Get an array of global scopes that were removed from the query. - * - * @return array - * @static - */ - public static function removedScopes() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->removedScopes(); - } - - /** - * Add a where clause on the primary key to the query. - * - * @param mixed $id - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereKey($id) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereKey($id); - } - - /** - * Add a where clause on the primary key to the query. - * - * @param mixed $id - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereKeyNot($id) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereKeyNot($id); - } - - /** - * Add a basic where clause to the query. - * - * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function where($column, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->where($column, $operator, $value, $boolean); - } - - /** - * Add a basic where clause to the query, and return the first result. - * - * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return TModel|null - * @static - */ - public static function firstWhere($column, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstWhere($column, $operator, $value, $boolean); - } - - /** - * Add an "or where" clause to the query. - * - * @param (\Closure(static): mixed)|array|string|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhere($column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhere($column, $operator, $value); - } - - /** - * Add a basic "where not" clause to the query. - * - * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNot($column, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereNot($column, $operator, $value, $boolean); - } - - /** - * Add an "or where not" clause to the query. - * - * @param (\Closure(static): mixed)|array|string|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNot($column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereNot($column, $operator, $value); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function latest($column = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->latest($column); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function oldest($column = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->oldest($column); - } - - /** - * Create a collection of models from plain arrays. - * - * @param array $items - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function hydrate($items) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->hydrate($items); - } - - /** - * Insert into the database after merging the model's default attributes, setting timestamps, and casting values. - * - * @param array> $values - * @return bool - * @static - */ - public static function fillAndInsert($values) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->fillAndInsert($values); - } - - /** - * Insert (ignoring errors) into the database after merging the model's default attributes, setting timestamps, and casting values. - * - * @param array> $values - * @return int - * @static - */ - public static function fillAndInsertOrIgnore($values) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->fillAndInsertOrIgnore($values); - } - - /** - * Insert a record into the database and get its ID after merging the model's default attributes, setting timestamps, and casting values. - * - * @param array $values - * @return int - * @static - */ - public static function fillAndInsertGetId($values) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->fillAndInsertGetId($values); - } - - /** - * Enrich the given values by merging in the model's default attributes, adding timestamps, and casting values. - * - * @param array> $values - * @return array> - * @static - */ - public static function fillForInsert($values) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->fillForInsert($values); - } - - /** - * Create a collection of models from a raw query. - * - * @param string $query - * @param array $bindings - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function fromQuery($query, $bindings = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->fromQuery($query, $bindings); - } - - /** - * Find a model by its primary key. - * - * @param mixed $id - * @param array|string $columns - * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel|null) - * @static - */ - public static function find($id, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->find($id, $columns); - } - - /** - * Find a sole model by its primary key. - * - * @param mixed $id - * @param array|string $columns - * @return TModel - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @throws \Illuminate\Database\MultipleRecordsFoundException - * @static - */ - public static function findSole($id, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findSole($id, $columns); - } - - /** - * Find multiple models by their primary keys. - * - * @param \Illuminate\Contracts\Support\Arrayable|array $ids - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function findMany($ids, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findMany($ids, $columns); - } - - /** - * Find a model by its primary key or throw an exception. - * - * @param mixed $id - * @param array|string $columns - * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel) - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static - */ - public static function findOrFail($id, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findOrFail($id, $columns); - } - - /** - * Find a model by its primary key or return fresh model instance. - * - * @param mixed $id - * @param array|string $columns - * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel) - * @static - */ - public static function findOrNew($id, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findOrNew($id, $columns); - } - - /** - * Find a model by its primary key or call a callback. - * - * @template TValue - * @param mixed $id - * @param (\Closure(): TValue)|list|string $columns - * @param (\Closure(): TValue)|null $callback - * @return ( $id is (\Illuminate\Contracts\Support\Arrayable|array) - * ? \Illuminate\Database\Eloquent\Collection - * : TModel|TValue - * ) - * @static - */ - public static function findOr($id, $columns = [], $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findOr($id, $columns, $callback); - } - - /** - * Get the first record matching the attributes or instantiate it. - * - * @param array $attributes - * @param array $values - * @return TModel - * @static - */ - public static function firstOrNew($attributes = [], $values = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstOrNew($attributes, $values); - } - - /** - * Get the first record matching the attributes. If the record is not found, create it. - * - * @param array $attributes - * @param array $values - * @return TModel - * @static - */ - public static function firstOrCreate($attributes = [], $values = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstOrCreate($attributes, $values); - } - - /** - * Attempt to create the record. If a unique constraint violation occurs, attempt to find the matching record. - * - * @param array $attributes - * @param array $values - * @return TModel - * @static - */ - public static function createOrFirst($attributes = [], $values = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->createOrFirst($attributes, $values); - } - - /** - * Create or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return TModel - * @static - */ - public static function updateOrCreate($attributes, $values = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->updateOrCreate($attributes, $values); - } - - /** - * Create a record matching the attributes, or increment the existing record. - * - * @param array $attributes - * @param string $column - * @param int|float $default - * @param int|float $step - * @param array $extra - * @return TModel - * @static - */ - public static function incrementOrCreate($attributes, $column = 'count', $default = 1, $step = 1, $extra = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->incrementOrCreate($attributes, $column, $default, $step, $extra); - } - - /** - * Execute the query and get the first result or throw an exception. - * - * @param array|string $columns - * @return TModel - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static - */ - public static function firstOrFail($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstOrFail($columns); - } - - /** - * Execute the query and get the first result or call a callback. - * - * @template TValue - * @param (\Closure(): TValue)|list $columns - * @param (\Closure(): TValue)|null $callback - * @return TModel|TValue - * @static - */ - public static function firstOr($columns = [], $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstOr($columns, $callback); - } - - /** - * Execute the query and get the first result if it's the sole matching record. - * - * @param array|string $columns - * @return TModel - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @throws \Illuminate\Database\MultipleRecordsFoundException - * @static - */ - public static function sole($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->sole($columns); - } - - /** - * Get a single column's value from the first result of a query. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return mixed - * @static - */ - public static function value($column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->value($column); - } - - /** - * Get a single column's value from the first result of a query if it's the sole matching record. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return mixed - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @throws \Illuminate\Database\MultipleRecordsFoundException - * @static - */ - public static function soleValue($column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->soleValue($column); - } - - /** - * Get a single column's value from the first result of the query or throw an exception. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return mixed - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static - */ - public static function valueOrFail($column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->valueOrFail($column); - } - - /** - * Execute the query as a "select" statement. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function get($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->get($columns); - } - - /** - * Get the hydrated models without eager loading. - * - * @param array|string $columns - * @return array - * @static - */ - public static function getModels($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getModels($columns); - } - - /** - * Eager load the relationships for the models. - * - * @param array $models - * @return array - * @static - */ - public static function eagerLoadRelations($models) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->eagerLoadRelations($models); - } - - /** - * Register a closure to be invoked after the query is executed. - * - * @param \Closure $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function afterQuery($callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->afterQuery($callback); - } - - /** - * Invoke the "after query" modification callbacks. - * - * @param mixed $result - * @return mixed - * @static - */ - public static function applyAfterQueryCallbacks($result) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->applyAfterQueryCallbacks($result); - } - - /** - * Get a lazy collection for the given query. - * - * @return \Illuminate\Support\LazyCollection - * @static - */ - public static function cursor() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->cursor(); - } - - /** - * Get a collection with the values of a given column. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @param string|null $key - * @return \Illuminate\Support\Collection - * @static - */ - public static function pluck($column, $key = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->pluck($column, $key); - } - - /** - * Paginate the given query. - * - * @param int|null|\Closure $perPage - * @param array|string $columns - * @param string $pageName - * @param int|null $page - * @param \Closure|int|null $total - * @return \Illuminate\Pagination\LengthAwarePaginator - * @throws \InvalidArgumentException - * @static - */ - public static function paginate($perPage = null, $columns = [], $pageName = 'page', $page = null, $total = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->paginate($perPage, $columns, $pageName, $page, $total); - } - - /** - * Paginate the given query into a simple paginator. - * - * @param int|null $perPage - * @param array|string $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\Paginator - * @static - */ - public static function simplePaginate($perPage = null, $columns = [], $pageName = 'page', $page = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->simplePaginate($perPage, $columns, $pageName, $page); - } - - /** - * Paginate the given query into a cursor paginator. - * - * @param int|null $perPage - * @param array|string $columns - * @param string $cursorName - * @param \Illuminate\Pagination\Cursor|string|null $cursor - * @return \Illuminate\Contracts\Pagination\CursorPaginator - * @static - */ - public static function cursorPaginate($perPage = null, $columns = [], $cursorName = 'cursor', $cursor = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->cursorPaginate($perPage, $columns, $cursorName, $cursor); - } - - /** - * Save a new model and return the instance. - * - * @param array $attributes - * @return TModel - * @static - */ - public static function create($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->create($attributes); - } - - /** - * Save a new model and return the instance without raising model events. - * - * @param array $attributes - * @return TModel - * @static - */ - public static function createQuietly($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->createQuietly($attributes); - } - - /** - * Save a new model and return the instance. Allow mass-assignment. - * - * @param array $attributes - * @return TModel - * @static - */ - public static function forceCreate($attributes) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->forceCreate($attributes); - } - - /** - * Save a new model instance with mass assignment without raising model events. - * - * @param array $attributes - * @return TModel - * @static - */ - public static function forceCreateQuietly($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->forceCreateQuietly($attributes); - } - - /** - * Insert new records or update the existing ones. - * - * @param array $values - * @param array|string $uniqueBy - * @param array|null $update - * @return int - * @static - */ - public static function upsert($values, $uniqueBy, $update = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->upsert($values, $uniqueBy, $update); - } - - /** - * Register a replacement for the default delete function. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function onDelete($callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - $instance->onDelete($callback); - } - - /** - * Call the given local model scopes. - * - * @param array|string $scopes - * @return static|mixed - * @static - */ - public static function scopes($scopes) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->scopes($scopes); - } - - /** - * Apply the scopes to the Eloquent builder instance and return it. - * - * @return static - * @static - */ - public static function applyScopes() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->applyScopes(); - } - - /** - * Prevent the specified relations from being eager loaded. - * - * @param mixed $relations - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function without($relations) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->without($relations); - } - - /** - * Set the relationships that should be eager loaded while removing any previously added eager loading specifications. - * - * @param array): mixed)|string>|string $relations - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withOnly($relations) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withOnly($relations); - } - - /** - * Create a new instance of the model being queried. - * - * @param array $attributes - * @return TModel - * @static - */ - public static function newModelInstance($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->newModelInstance($attributes); - } - - /** - * Specify attributes that should be added to any new models created by this builder. - * - * The given key / value pairs will also be added as where conditions to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|array|string $attributes - * @param mixed $value - * @param bool $asConditions - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withAttributes($attributes, $value = null, $asConditions = true) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withAttributes($attributes, $value, $asConditions); - } - - /** - * Apply query-time casts to the model instance. - * - * @param array $casts - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withCasts($casts) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withCasts($casts); - } - - /** - * Execute the given Closure within a transaction savepoint if needed. - * - * @template TModelValue - * @param \Closure(): TModelValue $scope - * @return TModelValue - * @static - */ - public static function withSavepointIfNeeded($scope) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withSavepointIfNeeded($scope); - } - - /** - * Get the underlying query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function getQuery() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getQuery(); - } - - /** - * Set the underlying query builder instance. - * - * @param \Illuminate\Database\Query\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function setQuery($query) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->setQuery($query); - } - - /** - * Get a base query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function toBase() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->toBase(); - } - - /** - * Get the relationships being eagerly loaded. - * - * @return array - * @static - */ - public static function getEagerLoads() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getEagerLoads(); - } - - /** - * Set the relationships being eagerly loaded. - * - * @param array $eagerLoad - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function setEagerLoads($eagerLoad) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->setEagerLoads($eagerLoad); - } - - /** - * Indicate that the given relationships should not be eagerly loaded. - * - * @param array $relations - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withoutEagerLoad($relations) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutEagerLoad($relations); - } - - /** - * Flush the relationships being eagerly loaded. - * - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withoutEagerLoads() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutEagerLoads(); - } - - /** - * Get the "limit" value from the query or null if it's not set. - * - * @return mixed - * @static - */ - public static function getLimit() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getLimit(); - } - - /** - * Get the "offset" value from the query or null if it's not set. - * - * @return mixed - * @static - */ - public static function getOffset() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getOffset(); - } - - /** - * Get the model instance being queried. - * - * @return TModel - * @static - */ - public static function getModel() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getModel(); - } - - /** - * Set a model instance for the model being queried. - * - * @template TModelNew of \Illuminate\Database\Eloquent\Model - * @param TModelNew $model - * @return static - * @static - */ - public static function setModel($model) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->setModel($model); - } - - /** - * Get the given macro by name. - * - * @param string $name - * @return \Closure - * @static - */ - public static function getMacro($name) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getMacro($name); - } - - /** - * Checks if a macro is registered. - * - * @param string $name - * @return bool - * @static - */ - public static function hasMacro($name) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->hasMacro($name); - } - - /** - * Get the given global macro by name. - * - * @param string $name - * @return \Closure - * @static - */ - public static function getGlobalMacro($name) - { - return \Illuminate\Database\Eloquent\Builder::getGlobalMacro($name); - } - - /** - * Checks if a global macro is registered. - * - * @param string $name - * @return bool - * @static - */ - public static function hasGlobalMacro($name) - { - return \Illuminate\Database\Eloquent\Builder::hasGlobalMacro($name); - } - - /** - * Clone the Eloquent query builder. - * - * @return static - * @static - */ - public static function clone() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->clone(); - } - - /** - * Register a closure to be invoked on a clone. - * - * @param \Closure $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function onClone($callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->onClone($callback); - } - - /** - * Chunk the results of the query. - * - * @param int $count - * @param callable(\Illuminate\Support\Collection, int): mixed $callback - * @return bool - * @static - */ - public static function chunk($count, $callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->chunk($count, $callback); - } - - /** - * Run a map over each item while chunking. - * - * @template TReturn - * @param callable(TValue): TReturn $callback - * @param int $count - * @return \Illuminate\Support\Collection - * @static - */ - public static function chunkMap($callback, $count = 1000) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->chunkMap($callback, $count); - } - - /** - * Execute a callback over each item while chunking. - * - * @param callable(TValue, int): mixed $callback - * @param int $count - * @return bool - * @throws \RuntimeException - * @static - */ - public static function each($callback, $count = 1000) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->each($callback, $count); - } - - /** - * Chunk the results of a query by comparing IDs. - * - * @param int $count - * @param callable(\Illuminate\Support\Collection, int): mixed $callback - * @param string|null $column - * @param string|null $alias - * @return bool - * @static - */ - public static function chunkById($count, $callback, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->chunkById($count, $callback, $column, $alias); - } - - /** - * Chunk the results of a query by comparing IDs in descending order. - * - * @param int $count - * @param callable(\Illuminate\Support\Collection, int): mixed $callback - * @param string|null $column - * @param string|null $alias - * @return bool - * @static - */ - public static function chunkByIdDesc($count, $callback, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->chunkByIdDesc($count, $callback, $column, $alias); - } - - /** - * Chunk the results of a query by comparing IDs in a given order. - * - * @param int $count - * @param callable(\Illuminate\Support\Collection, int): mixed $callback - * @param string|null $column - * @param string|null $alias - * @param bool $descending - * @return bool - * @throws \RuntimeException - * @static - */ - public static function orderedChunkById($count, $callback, $column = null, $alias = null, $descending = false) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orderedChunkById($count, $callback, $column, $alias, $descending); - } - - /** - * Execute a callback over each item while chunking by ID. - * - * @param callable(TValue, int): mixed $callback - * @param int $count - * @param string|null $column - * @param string|null $alias - * @return bool - * @static - */ - public static function eachById($callback, $count = 1000, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->eachById($callback, $count, $column, $alias); - } - - /** - * Query lazily, by chunks of the given size. - * - * @param int $chunkSize - * @return \Illuminate\Support\LazyCollection - * @throws \InvalidArgumentException - * @static - */ - public static function lazy($chunkSize = 1000) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->lazy($chunkSize); - } - - /** - * Query lazily, by chunking the results of a query by comparing IDs. - * - * @param int $chunkSize - * @param string|null $column - * @param string|null $alias - * @return \Illuminate\Support\LazyCollection - * @throws \InvalidArgumentException - * @static - */ - public static function lazyById($chunkSize = 1000, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->lazyById($chunkSize, $column, $alias); - } - - /** - * Query lazily, by chunking the results of a query by comparing IDs in descending order. - * - * @param int $chunkSize - * @param string|null $column - * @param string|null $alias - * @return \Illuminate\Support\LazyCollection - * @throws \InvalidArgumentException - * @static - */ - public static function lazyByIdDesc($chunkSize = 1000, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->lazyByIdDesc($chunkSize, $column, $alias); - } - - /** - * Execute the query and get the first result. - * - * @param array|string $columns - * @return TValue|null - * @static - */ - public static function first($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->first($columns); - } - - /** - * Execute the query and get the first result if it's the sole matching record. - * - * @param array|string $columns - * @return TValue - * @throws \Illuminate\Database\RecordsNotFoundException - * @throws \Illuminate\Database\MultipleRecordsFoundException - * @static - */ - public static function baseSole($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->baseSole($columns); - } - - /** - * Pass the query to a given callback and then return it. - * - * @param callable($this): mixed $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function tap($callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->tap($callback); - } - - /** - * Pass the query to a given callback and return the result. - * - * @template TReturn - * @param (callable($this): TReturn) $callback - * @return (TReturn is null|void ? $this : TReturn) - * @static - */ - public static function pipe($callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->pipe($callback); - } - - /** - * Apply the callback if the given "value" is (or resolves to) truthy. - * - * @template TWhenParameter - * @template TWhenReturnType - * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value - * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback - * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default - * @return $this|TWhenReturnType - * @static - */ - public static function when($value = null, $callback = null, $default = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->when($value, $callback, $default); - } - - /** - * Apply the callback if the given "value" is (or resolves to) falsy. - * - * @template TUnlessParameter - * @template TUnlessReturnType - * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value - * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback - * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default - * @return $this|TUnlessReturnType - * @static - */ - public static function unless($value = null, $callback = null, $default = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->unless($value, $callback, $default); - } - - /** - * Add a relationship count / exists condition to the query. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @param string $boolean - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|null $callback - * @return \Illuminate\Database\Eloquent\Builder - * @throws \RuntimeException - * @static - */ - public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->has($relation, $operator, $count, $boolean, $callback); - } - - /** - * Add a relationship count / exists condition to the query with an "or". - * - * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orHas($relation, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orHas($relation, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param string $boolean - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|null $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function doesntHave($relation, $boolean = 'and', $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->doesntHave($relation, $boolean, $callback); - } - - /** - * Add a relationship count / exists condition to the query with an "or". - * - * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orDoesntHave($relation) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orDoesntHave($relation); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|null $callback - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereHas($relation, $callback, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * Also load the relationship with the same condition. - * - * @param string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Database\Eloquent\Relations\Relation<*, *, *>): mixed)|null $callback - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withWhereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withWhereHas($relation, $callback, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query with where clauses and an "or". - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|null $callback - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereHas($relation, $callback, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|null $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereDoesntHave($relation, $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereDoesntHave($relation, $callback); - } - - /** - * Add a relationship count / exists condition to the query with where clauses and an "or". - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|null $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereDoesntHave($relation, $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereDoesntHave($relation, $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @param string $boolean - * @param (\Closure(\Illuminate\Database\Eloquent\Builder, string): mixed)|null $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function hasMorph($relation, $types, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->hasMorph($relation, $types, $operator, $count, $boolean, $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with an "or". - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation - * @param string|array $types - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orHasMorph($relation, $types, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orHasMorph($relation, $types, $operator, $count); - } - - /** - * Add a polymorphic relationship count / exists condition to the query. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param string $boolean - * @param (\Closure(\Illuminate\Database\Eloquent\Builder, string): mixed)|null $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function doesntHaveMorph($relation, $types, $boolean = 'and', $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->doesntHaveMorph($relation, $types, $boolean, $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with an "or". - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation - * @param string|array $types - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orDoesntHaveMorph($relation, $types) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orDoesntHaveMorph($relation, $types); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param (\Closure(\Illuminate\Database\Eloquent\Builder, string): mixed)|null $callback - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereHasMorph($relation, $types, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereHasMorph($relation, $types, $callback, $operator, $count); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param (\Closure(\Illuminate\Database\Eloquent\Builder, string): mixed)|null $callback - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|int $count - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereHasMorph($relation, $types, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereHasMorph($relation, $types, $callback, $operator, $count); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param (\Closure(\Illuminate\Database\Eloquent\Builder, string): mixed)|null $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereDoesntHaveMorph($relation, $types, $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereDoesntHaveMorph($relation, $types, $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param (\Closure(\Illuminate\Database\Eloquent\Builder, string): mixed)|null $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereDoesntHaveMorph($relation, $types, $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereDoesntHaveMorph($relation, $types, $callback); - } - - /** - * Add a basic where clause to a relationship query. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereRelation($relation, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereRelation($relation, $column, $operator, $value); - } - - /** - * Add a basic where clause to a relationship query and eager-load the relationship with the same conditions. - * - * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation - * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withWhereRelation($relation, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withWhereRelation($relation, $column, $operator, $value); - } - - /** - * Add an "or where" clause to a relationship query. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereRelation($relation, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereRelation($relation, $column, $operator, $value); - } - - /** - * Add a basic count / exists condition to a relationship query. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereDoesntHaveRelation($relation, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereDoesntHaveRelation($relation, $column, $operator, $value); - } - - /** - * Add an "or where" clause to a relationship query. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereDoesntHaveRelation($relation, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereDoesntHaveRelation($relation, $column, $operator, $value); - } - - /** - * Add a polymorphic relationship condition to the query with a where clause. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereMorphRelation($relation, $types, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereMorphRelation($relation, $types, $column, $operator, $value); - } - - /** - * Add a polymorphic relationship condition to the query with an "or where" clause. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereMorphRelation($relation, $types, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereMorphRelation($relation, $types, $column, $operator, $value); - } - - /** - * Add a polymorphic relationship condition to the query with a doesn't have clause. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereMorphDoesntHaveRelation($relation, $types, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereMorphDoesntHaveRelation($relation, $types, $column, $operator, $value); - } - - /** - * Add a polymorphic relationship condition to the query with an "or doesn't have" clause. - * - * @template TRelatedModel of \Illuminate\Database\Eloquent\Model - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param (\Closure(\Illuminate\Database\Eloquent\Builder): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereMorphDoesntHaveRelation($relation, $types, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereMorphDoesntHaveRelation($relation, $types, $column, $operator, $value); - } - - /** - * Add a morph-to relationship condition to the query. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation - * @param \Illuminate\Database\Eloquent\Model|iterable|string|null $model - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereMorphedTo($relation, $model, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereMorphedTo($relation, $model, $boolean); - } - - /** - * Add a not morph-to relationship condition to the query. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation - * @param \Illuminate\Database\Eloquent\Model|iterable|string $model - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNotMorphedTo($relation, $model, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereNotMorphedTo($relation, $model, $boolean); - } - - /** - * Add a morph-to relationship condition to the query with an "or where" clause. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation - * @param \Illuminate\Database\Eloquent\Model|iterable|string|null $model - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereMorphedTo($relation, $model) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereMorphedTo($relation, $model); - } - - /** - * Add a not morph-to relationship condition to the query with an "or where" clause. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation - * @param \Illuminate\Database\Eloquent\Model|iterable|string $model - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNotMorphedTo($relation, $model) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereNotMorphedTo($relation, $model); - } - - /** - * Add a "belongs to" relationship where clause to the query. - * - * @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection $related - * @param string|null $relationshipName - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @throws \Illuminate\Database\Eloquent\RelationNotFoundException - * @static - */ - public static function whereBelongsTo($related, $relationshipName = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereBelongsTo($related, $relationshipName, $boolean); - } - - /** - * Add a "BelongsTo" relationship with an "or where" clause to the query. - * - * @param \Illuminate\Database\Eloquent\Model $related - * @param string|null $relationshipName - * @return \Illuminate\Database\Eloquent\Builder - * @throws \RuntimeException - * @static - */ - public static function orWhereBelongsTo($related, $relationshipName = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereBelongsTo($related, $relationshipName); - } - - /** - * Add a "belongs to many" relationship where clause to the query. - * - * @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection $related - * @param string|null $relationshipName - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @throws \Illuminate\Database\Eloquent\RelationNotFoundException - * @static - */ - public static function whereAttachedTo($related, $relationshipName = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereAttachedTo($related, $relationshipName, $boolean); - } - - /** - * Add a "belongs to many" relationship with an "or where" clause to the query. - * - * @param \Illuminate\Database\Eloquent\Model $related - * @param string|null $relationshipName - * @return \Illuminate\Database\Eloquent\Builder - * @throws \RuntimeException - * @static - */ - public static function orWhereAttachedTo($related, $relationshipName = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereAttachedTo($related, $relationshipName); - } - - /** - * Add subselect queries to include an aggregate value for a relationship. - * - * @param mixed $relations - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param string|null $function - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withAggregate($relations, $column, $function = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withAggregate($relations, $column, $function); - } - - /** - * Add subselect queries to count the relations. - * - * @param mixed $relations - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withCount($relations) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withCount($relations); - } - - /** - * Add subselect queries to include the max of the relation's column. - * - * @param string|array $relation - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withMax($relation, $column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withMax($relation, $column); - } - - /** - * Add subselect queries to include the min of the relation's column. - * - * @param string|array $relation - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withMin($relation, $column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withMin($relation, $column); - } - - /** - * Add subselect queries to include the sum of the relation's column. - * - * @param string|array $relation - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withSum($relation, $column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withSum($relation, $column); - } - - /** - * Add subselect queries to include the average of the relation's column. - * - * @param string|array $relation - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withAvg($relation, $column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withAvg($relation, $column); - } - - /** - * Add subselect queries to include the existence of related models. - * - * @param string|array $relation - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function withExists($relation) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withExists($relation); - } - - /** - * Merge the where constraints from another query to the current query. - * - * @param \Illuminate\Database\Eloquent\Builder<*> $from - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function mergeConstraintsFrom($from) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->mergeConstraintsFrom($from); - } - - /** - * Set the columns to be selected. - * - * @param mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function select($columns = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->select($columns); - } - - /** - * Add a subselect expression to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @param string $as - * @return \Illuminate\Database\Eloquent\Builder - * @throws \InvalidArgumentException - * @static - */ - public static function selectSub($query, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->selectSub($query, $as); - } - - /** - * Add a select expression to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression $expression - * @param string $as - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function selectExpression($expression, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->selectExpression($expression, $as); - } - - /** - * Add a new "raw" select expression to the query. - * - * @param string $expression - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function selectRaw($expression, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->selectRaw($expression, $bindings); - } - - /** - * Makes "from" fetch from a subquery. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @param string $as - * @return \Illuminate\Database\Eloquent\Builder - * @throws \InvalidArgumentException - * @static - */ - public static function fromSub($query, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->fromSub($query, $as); - } - - /** - * Add a raw "from" clause to the query. - * - * @param string $expression - * @param mixed $bindings - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function fromRaw($expression, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->fromRaw($expression, $bindings); - } - - /** - * Add a new select column to the query. - * - * @param mixed $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function addSelect($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addSelect($column); - } - - /** - * Add a vector-similarity selection to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Support\Collection|\Illuminate\Contracts\Support\Arrayable|array|string $vector - * @param string|null $as - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function selectVectorDistance($column, $vector, $as = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->selectVectorDistance($column, $vector, $as); - } - - /** - * Force the query to only return distinct results. - * - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function distinct() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->distinct(); - } - - /** - * Set the table which the query is targeting. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $table - * @param string|null $as - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function from($table, $as = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->from($table, $as); - } - - /** - * Add an index hint to suggest a query index. - * - * @param string $index - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function useIndex($index) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->useIndex($index); - } - - /** - * Add an index hint to force a query index. - * - * @param string $index - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function forceIndex($index) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forceIndex($index); - } - - /** - * Add an index hint to ignore a query index. - * - * @param string $index - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function ignoreIndex($index) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->ignoreIndex($index); - } - - /** - * Add a "join" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @param string $type - * @param bool $where - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->join($table, $first, $operator, $second, $type, $where); - } - - /** - * Add a "join where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string $second - * @param string $type - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function joinWhere($table, $first, $operator, $second, $type = 'inner') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->joinWhere($table, $first, $operator, $second, $type); - } - - /** - * Add a "subquery join" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @param string $as - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @param string $type - * @param bool $where - * @return \Illuminate\Database\Eloquent\Builder - * @throws \InvalidArgumentException - * @static - */ - public static function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->joinSub($query, $as, $first, $operator, $second, $type, $where); - } - - /** - * Add a "lateral join" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function joinLateral($query, $as, $type = 'inner') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->joinLateral($query, $as, $type); - } - - /** - * Add a lateral left join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function leftJoinLateral($query, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->leftJoinLateral($query, $as); - } - - /** - * Add a left join to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function leftJoin($table, $first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->leftJoin($table, $first, $operator, $second); - } - - /** - * Add a "join where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function leftJoinWhere($table, $first, $operator, $second) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->leftJoinWhere($table, $first, $operator, $second); - } - - /** - * Add a subquery left join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @param string $as - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function leftJoinSub($query, $as, $first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->leftJoinSub($query, $as, $first, $operator, $second); - } - - /** - * Add a right join to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function rightJoin($table, $first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->rightJoin($table, $first, $operator, $second); - } - - /** - * Add a "right join where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string $second - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function rightJoinWhere($table, $first, $operator, $second) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->rightJoinWhere($table, $first, $operator, $second); - } - - /** - * Add a subquery right join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @param string $as - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function rightJoinSub($query, $as, $first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->rightJoinSub($query, $as, $first, $operator, $second); - } - - /** - * Add a "cross join" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string|null $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function crossJoin($table, $first = null, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->crossJoin($table, $first, $operator, $second); - } - - /** - * Add a subquery cross join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @param string $as - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function crossJoinSub($query, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->crossJoinSub($query, $as); - } - - /** - * Merge an array of "where" clauses and bindings. - * - * @param array $wheres - * @param array $bindings - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function mergeWheres($wheres, $bindings) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->mergeWheres($wheres, $bindings); - } - - /** - * Prepare the value and operator for a where clause. - * - * @param string $value - * @param string $operator - * @param bool $useDefault - * @return array - * @throws \InvalidArgumentException - * @static - */ - public static function prepareValueAndOperator($value, $operator, $useDefault = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->prepareValueAndOperator($value, $operator, $useDefault); - } - - /** - * Add a "where" clause comparing two columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string|array $first - * @param string|null $operator - * @param string|null $second - * @param string|null $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereColumn($first, $operator = null, $second = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereColumn($first, $operator, $second, $boolean); - } - - /** - * Add an "or where" clause comparing two columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string|array $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereColumn($first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereColumn($first, $operator, $second); - } - - /** - * Add a vector similarity clause to the query, filtering by minimum similarity and ordering by similarity. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Support\Collection|\Illuminate\Contracts\Support\Arrayable|array|string $vector - * @param float $minSimilarity A value between 0.0 and 1.0, where 1.0 is identical. - * @param bool $order - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereVectorSimilarTo($column, $vector, $minSimilarity = 0.6, $order = true) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereVectorSimilarTo($column, $vector, $minSimilarity, $order); - } - - /** - * Add a vector distance "where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Support\Collection|\Illuminate\Contracts\Support\Arrayable|array|string $vector - * @param float $maxDistance - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereVectorDistanceLessThan($column, $vector, $maxDistance, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereVectorDistanceLessThan($column, $vector, $maxDistance, $boolean); - } - - /** - * Add a vector distance "or where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Support\Collection|\Illuminate\Contracts\Support\Arrayable|array|string $vector - * @param float $maxDistance - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereVectorDistanceLessThan($column, $vector, $maxDistance) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereVectorDistanceLessThan($column, $vector, $maxDistance); - } - - /** - * Add a raw "where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $sql - * @param mixed $bindings - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereRaw($sql, $bindings = [], $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereRaw($sql, $bindings, $boolean); - } - - /** - * Add a raw "or where" clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereRaw($sql, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereRaw($sql, $bindings); - } - - /** - * Add a "where like" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $value - * @param bool $caseSensitive - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereLike($column, $value, $caseSensitive = false, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereLike($column, $value, $caseSensitive, $boolean, $not); - } - - /** - * Add an "or where like" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $value - * @param bool $caseSensitive - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereLike($column, $value, $caseSensitive = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereLike($column, $value, $caseSensitive); - } - - /** - * Add a "where not like" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $value - * @param bool $caseSensitive - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNotLike($column, $value, $caseSensitive = false, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotLike($column, $value, $caseSensitive, $boolean); - } - - /** - * Add an "or where not like" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $value - * @param bool $caseSensitive - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNotLike($column, $value, $caseSensitive = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotLike($column, $value, $caseSensitive); - } - - /** - * Add a "where in" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param mixed $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereIn($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereIn($column, $values, $boolean, $not); - } - - /** - * Add an "or where in" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param mixed $values - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereIn($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereIn($column, $values); - } - - /** - * Add a "where not in" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param mixed $values - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNotIn($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotIn($column, $values, $boolean); - } - - /** - * Add an "or where not in" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param mixed $values - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNotIn($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotIn($column, $values); - } - - /** - * Add a "where in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereIntegerInRaw($column, $values, $boolean, $not); - } - - /** - * Add an "or where in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereIntegerInRaw($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereIntegerInRaw($column, $values); - } - - /** - * Add a "where not in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereIntegerNotInRaw($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereIntegerNotInRaw($column, $values, $boolean); - } - - /** - * Add an "or where not in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereIntegerNotInRaw($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereIntegerNotInRaw($column, $values); - } - - /** - * Add a "where null" clause to the query. - * - * @param string|array|\Illuminate\Contracts\Database\Query\Expression $columns - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNull($columns, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNull($columns, $boolean, $not); - } - - /** - * Add an "or where null" clause to the query. - * - * @param string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNull($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNull($column); - } - - /** - * Add a "where not null" clause to the query. - * - * @param string|array|\Illuminate\Contracts\Database\Query\Expression $columns - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNotNull($columns, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotNull($columns, $boolean); - } - - /** - * Add a "where between" statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereBetween($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereBetween($column, $values, $boolean, $not); - } - - /** - * Add a "where between" statement using columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereBetweenColumns($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereBetweenColumns($column, $values, $boolean, $not); - } - - /** - * Add an "or where between" statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereBetween($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereBetween($column, $values); - } - - /** - * Add an "or where between" statement using columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereBetweenColumns($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereBetweenColumns($column, $values); - } - - /** - * Add a "where not between" statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNotBetween($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotBetween($column, $values, $boolean); - } - - /** - * Add a "where not between" statement using columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNotBetweenColumns($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotBetweenColumns($column, $values, $boolean); - } - - /** - * Add an "or where not between" statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNotBetween($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotBetween($column, $values); - } - - /** - * Add an "or where not between" statement using columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNotBetweenColumns($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotBetweenColumns($column, $values); - } - - /** - * Add a "where between columns" statement using a value to the query. - * - * @param mixed $value - * @param array{\Illuminate\Contracts\Database\Query\Expression|string, \Illuminate\Contracts\Database\Query\Expression|string} $columns - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereValueBetween($value, $columns, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereValueBetween($value, $columns, $boolean, $not); - } - - /** - * Add an "or where between columns" statement using a value to the query. - * - * @param mixed $value - * @param array{\Illuminate\Contracts\Database\Query\Expression|string, \Illuminate\Contracts\Database\Query\Expression|string} $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereValueBetween($value, $columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereValueBetween($value, $columns); - } - - /** - * Add a "where not between columns" statement using a value to the query. - * - * @param mixed $value - * @param array{\Illuminate\Contracts\Database\Query\Expression|string, \Illuminate\Contracts\Database\Query\Expression|string} $columns - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereValueNotBetween($value, $columns, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereValueNotBetween($value, $columns, $boolean); - } - - /** - * Add an "or where not between columns" statement using a value to the query. - * - * @param mixed $value - * @param array{\Illuminate\Contracts\Database\Query\Expression|string, \Illuminate\Contracts\Database\Query\Expression|string} $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereValueNotBetween($value, $columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereValueNotBetween($value, $columns); - } - - /** - * Add an "or where not null" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNotNull($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotNull($column); - } - - /** - * Add a "where date" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|null $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereDate($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereDate($column, $operator, $value, $boolean); - } - - /** - * Add an "or where date" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|null $operator - * @param \DateTimeInterface|string|null $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereDate($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereDate($column, $operator, $value); - } - - /** - * Add a "where time" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|null $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereTime($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereTime($column, $operator, $value, $boolean); - } - - /** - * Add an "or where time" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|null $operator - * @param \DateTimeInterface|string|null $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereTime($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereTime($column, $operator, $value); - } - - /** - * Add a "where day" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereDay($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereDay($column, $operator, $value, $boolean); - } - - /** - * Add an "or where day" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereDay($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereDay($column, $operator, $value); - } - - /** - * Add a "where month" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereMonth($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereMonth($column, $operator, $value, $boolean); - } - - /** - * Add an "or where month" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereMonth($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereMonth($column, $operator, $value); - } - - /** - * Add a "where year" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereYear($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereYear($column, $operator, $value, $boolean); - } - - /** - * Add an "or where year" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereYear($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereYear($column, $operator, $value); - } - - /** - * Add a nested "where" statement to the query. - * - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNested($callback, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNested($callback, $boolean); - } - - /** - * Create a new query instance for nested where condition. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function forNestedWhere() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forNestedWhere(); - } - - /** - * Add another query builder as a nested where to the query builder. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function addNestedWhereQuery($query, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addNestedWhereQuery($query, $boolean); - } - - /** - * Add an "exists" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereExists($callback, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereExists($callback, $boolean, $not); - } - - /** - * Add an "or where exists" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereExists($callback, $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereExists($callback, $not); - } - - /** - * Add a "where not exists" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNotExists($callback, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotExists($callback, $boolean); - } - - /** - * Add an "or where not exists" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNotExists($callback) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotExists($callback); - } - - /** - * Add an "exists" clause to the query. - * - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function addWhereExistsQuery($query, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addWhereExistsQuery($query, $boolean, $not); - } - - /** - * Adds a where condition using row values. - * - * @param array $columns - * @param string $operator - * @param array $values - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @throws \InvalidArgumentException - * @static - */ - public static function whereRowValues($columns, $operator, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereRowValues($columns, $operator, $values, $boolean); - } - - /** - * Adds an or where condition using row values. - * - * @param array $columns - * @param string $operator - * @param array $values - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereRowValues($columns, $operator, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereRowValues($columns, $operator, $values); - } - - /** - * Add a "where JSON contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereJsonContains($column, $value, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonContains($column, $value, $boolean, $not); - } - - /** - * Add an "or where JSON contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereJsonContains($column, $value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonContains($column, $value); - } - - /** - * Add a "where JSON not contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereJsonDoesntContain($column, $value, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonDoesntContain($column, $value, $boolean); - } - - /** - * Add an "or where JSON not contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereJsonDoesntContain($column, $value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonDoesntContain($column, $value); - } - - /** - * Add a "where JSON overlaps" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereJsonOverlaps($column, $value, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonOverlaps($column, $value, $boolean, $not); - } - - /** - * Add an "or where JSON overlaps" clause to the query. - * - * @param string $column - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereJsonOverlaps($column, $value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonOverlaps($column, $value); - } - - /** - * Add a "where JSON not overlap" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereJsonDoesntOverlap($column, $value, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonDoesntOverlap($column, $value, $boolean); - } - - /** - * Add an "or where JSON not overlap" clause to the query. - * - * @param string $column - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereJsonDoesntOverlap($column, $value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonDoesntOverlap($column, $value); - } - - /** - * Add a clause that determines if a JSON path exists to the query. - * - * @param string $column - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereJsonContainsKey($column, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonContainsKey($column, $boolean, $not); - } - - /** - * Add an "or" clause that determines if a JSON path exists to the query. - * - * @param string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereJsonContainsKey($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonContainsKey($column); - } - - /** - * Add a clause that determines if a JSON path does not exist to the query. - * - * @param string $column - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereJsonDoesntContainKey($column, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonDoesntContainKey($column, $boolean); - } - - /** - * Add an "or" clause that determines if a JSON path does not exist to the query. - * - * @param string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereJsonDoesntContainKey($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonDoesntContainKey($column); - } - - /** - * Add a "where JSON length" clause to the query. - * - * @param string $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereJsonLength($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonLength($column, $operator, $value, $boolean); - } - - /** - * Add an "or where JSON length" clause to the query. - * - * @param string $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereJsonLength($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonLength($column, $operator, $value); - } - - /** - * Handles dynamic "where" clauses to the query. - * - * @param string $method - * @param array $parameters - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function dynamicWhere($method, $parameters) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->dynamicWhere($method, $parameters); - } - - /** - * Add a "where fulltext" clause to the query. - * - * @param string|string[] $columns - * @param string $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereFullText($columns, $value, $options = [], $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereFullText($columns, $value, $options, $boolean); - } - - /** - * Add an "or where fulltext" clause to the query. - * - * @param string|string[] $columns - * @param string $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereFullText($columns, $value, $options = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereFullText($columns, $value, $options); - } - - /** - * Add a "where" clause to the query for multiple columns with "and" conditions between them. - * - * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereAll($columns, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereAll($columns, $operator, $value, $boolean); - } - - /** - * Add an "or where" clause to the query for multiple columns with "and" conditions between them. - * - * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereAll($columns, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereAll($columns, $operator, $value); - } - - /** - * Add a "where" clause to the query for multiple columns with "or" conditions between them. - * - * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereAny($columns, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereAny($columns, $operator, $value, $boolean); - } - - /** - * Add an "or where" clause to the query for multiple columns with "or" conditions between them. - * - * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereAny($columns, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereAny($columns, $operator, $value); - } - - /** - * Add a "where not" clause to the query for multiple columns where none of the conditions should be true. - * - * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNone($columns, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNone($columns, $operator, $value, $boolean); - } - - /** - * Add an "or where not" clause to the query for multiple columns where none of the conditions should be true. - * - * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNone($columns, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNone($columns, $operator, $value); - } - - /** - * Add a "group by" clause to the query. - * - * @param array|\Illuminate\Contracts\Database\Query\Expression|string $groups - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function groupBy(...$groups) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->groupBy(...$groups); - } - - /** - * Add a raw "groupBy" clause to the query. - * - * @param string $sql - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function groupByRaw($sql, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->groupByRaw($sql, $bindings); - } - - /** - * Add a "having" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|\Closure|string $column - * @param \DateTimeInterface|string|int|float|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|\DateTimeInterface|string|int|float|null $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function having($column, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->having($column, $operator, $value, $boolean); - } - - /** - * Add an "or having" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|\Closure|string $column - * @param \DateTimeInterface|string|int|float|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|\DateTimeInterface|string|int|float|null $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orHaving($column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHaving($column, $operator, $value); - } - - /** - * Add a nested "having" statement to the query. - * - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function havingNested($callback, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingNested($callback, $boolean); - } - - /** - * Add another query builder as a nested having to the query builder. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function addNestedHavingQuery($query, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addNestedHavingQuery($query, $boolean); - } - - /** - * Add a "having null" clause to the query. - * - * @param array|string $columns - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function havingNull($columns, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingNull($columns, $boolean, $not); - } - - /** - * Add an "or having null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orHavingNull($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHavingNull($column); - } - - /** - * Add a "having not null" clause to the query. - * - * @param array|string $columns - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function havingNotNull($columns, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingNotNull($columns, $boolean); - } - - /** - * Add an "or having not null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orHavingNotNull($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHavingNotNull($column); - } - - /** - * Add a "having between" clause to the query. - * - * @param string $column - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function havingBetween($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingBetween($column, $values, $boolean, $not); - } - - /** - * Add a "having not between" clause to the query. - * - * @param string $column - * @param iterable $values - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function havingNotBetween($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingNotBetween($column, $values, $boolean); - } - - /** - * Add an "or having between" clause to the query. - * - * @param string $column - * @param iterable $values - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orHavingBetween($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHavingBetween($column, $values); - } - - /** - * Add an "or having not between" clause to the query. - * - * @param string $column - * @param iterable $values - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orHavingNotBetween($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHavingNotBetween($column, $values); - } - - /** - * Add a raw "having" clause to the query. - * - * @param string $sql - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function havingRaw($sql, $bindings = [], $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingRaw($sql, $bindings, $boolean); - } - - /** - * Add a raw "or having" clause to the query. - * - * @param string $sql - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orHavingRaw($sql, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHavingRaw($sql, $bindings); - } - - /** - * Add an "order by" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $direction - * @return \Illuminate\Database\Eloquent\Builder - * @throws \InvalidArgumentException - * @static - */ - public static function orderBy($column, $direction = 'asc') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orderBy($column, $direction); - } - - /** - * Add a descending "order by" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orderByDesc($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orderByDesc($column); - } - - /** - * Add a vector-distance "order by" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Support\Collection|\Illuminate\Contracts\Support\Arrayable|array $vector - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orderByVectorDistance($column, $vector) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orderByVectorDistance($column, $vector); - } - - /** - * Put the query's results in random order. - * - * @param string|int $seed - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function inRandomOrder($seed = '') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->inRandomOrder($seed); - } - - /** - * Add a raw "order by" clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orderByRaw($sql, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orderByRaw($sql, $bindings); - } - - /** - * Alias to set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function skip($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->skip($value); - } - - /** - * Set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function offset($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->offset($value); - } - - /** - * Alias to set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function take($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->take($value); - } - - /** - * Set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function limit($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->limit($value); - } - - /** - * Add a "group limit" clause to the query. - * - * @param int $value - * @param string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function groupLimit($value, $column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->groupLimit($value, $column); - } - - /** - * Set the limit and offset for a given page. - * - * @param int $page - * @param int $perPage - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function forPage($page, $perPage = 15) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forPage($page, $perPage); - } - - /** - * Constrain the query to the previous "page" of results before a given ID. - * - * @param int $perPage - * @param int|null $lastId - * @param string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forPageBeforeId($perPage, $lastId, $column); - } - - /** - * Constrain the query to the next "page" of results after a given ID. - * - * @param int $perPage - * @param int|null $lastId - * @param string $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forPageAfterId($perPage, $lastId, $column); - } - - /** - * Remove all existing orders and optionally add a new order. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Contracts\Database\Query\Expression|string|null $column - * @param string $direction - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function reorder($column = null, $direction = 'asc') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->reorder($column, $direction); - } - - /** - * Add descending "reorder" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Contracts\Database\Query\Expression|string|null $column - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function reorderDesc($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->reorderDesc($column); - } - - /** - * Add a "union" statement to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $query - * @param bool $all - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function union($query, $all = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->union($query, $all); - } - - /** - * Add a "union all" statement to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $query - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function unionAll($query) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->unionAll($query); - } - - /** - * Lock the selected rows in the table. - * - * @param string|bool $value - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function lock($value = true) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->lock($value); - } - - /** - * Lock the selected rows in the table for updating. - * - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function lockForUpdate() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->lockForUpdate(); - } - - /** - * Share lock the selected rows in the table. - * - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function sharedLock() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->sharedLock(); - } - - /** - * Register a closure to be invoked before the query is executed. - * - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function beforeQuery($callback) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->beforeQuery($callback); - } - - /** - * Invoke the "before query" modification callbacks. - * - * @return void - * @static - */ - public static function applyBeforeQueryCallbacks() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - $instance->applyBeforeQueryCallbacks(); - } - - /** - * Get the SQL representation of the query. - * - * @return string - * @static - */ - public static function toSql() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->toSql(); - } - - /** - * Get the raw SQL representation of the query with embedded bindings. - * - * @return string - * @static - */ - public static function toRawSql() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->toRawSql(); - } - - /** - * Get a single expression value from the first result of a query. - * - * @return mixed - * @static - */ - public static function rawValue($expression, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->rawValue($expression, $bindings); - } - - /** - * Get the count of the total records for the paginator. - * - * @param array $columns - * @return int<0, max> - * @static - */ - public static function getCountForPagination($columns = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getCountForPagination($columns); - } - - /** - * Concatenate values of a given column as a string. - * - * @param string $column - * @param string $glue - * @return string - * @static - */ - public static function implode($column, $glue = '') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->implode($column, $glue); - } - - /** - * Determine if any rows exist for the current query. - * - * @return bool - * @static - */ - public static function exists() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->exists(); - } - - /** - * Determine if no rows exist for the current query. - * - * @return bool - * @static - */ - public static function doesntExist() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->doesntExist(); - } - - /** - * Execute the given callback if no rows exist for the current query. - * - * @return mixed - * @static - */ - public static function existsOr($callback) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->existsOr($callback); - } - - /** - * Execute the given callback if rows exist for the current query. - * - * @return mixed - * @static - */ - public static function doesntExistOr($callback) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->doesntExistOr($callback); - } - - /** - * Retrieve the "count" result of the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $columns - * @return int<0, max> - * @static - */ - public static function count($columns = '*') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->count($columns); - } - - /** - * Retrieve the minimum value of a given column. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ - public static function min($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->min($column); - } - - /** - * Retrieve the maximum value of a given column. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ - public static function max($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->max($column); - } - - /** - * Retrieve the sum of the values of a given column. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ - public static function sum($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->sum($column); - } - - /** - * Retrieve the average of the values of a given column. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ - public static function avg($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->avg($column); - } - - /** - * Alias for the "avg" method. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ - public static function average($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->average($column); - } - - /** - * Execute an aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return mixed - * @static - */ - public static function aggregate($function, $columns = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->aggregate($function, $columns); - } - - /** - * Execute a numeric aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return float|int - * @static - */ - public static function numericAggregate($function, $columns = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->numericAggregate($function, $columns); - } - - /** - * Insert new records into the database. - * - * @return bool - * @static - */ - public static function insert($values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insert($values); - } - - /** - * Insert new records into the database while ignoring errors. - * - * @return int<0, max> - * @static - */ - public static function insertOrIgnore($values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insertOrIgnore($values); - } - - /** - * Insert a new record and get the value of the primary key. - * - * @param string|null $sequence - * @return int - * @static - */ - public static function insertGetId($values, $sequence = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insertGetId($values, $sequence); - } - - /** - * Insert new records into the table using a subquery. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @return int - * @static - */ - public static function insertUsing($columns, $query) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insertUsing($columns, $query); - } - - /** - * Insert new records into the table using a subquery while ignoring errors. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query - * @return int - * @static - */ - public static function insertOrIgnoreUsing($columns, $query) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insertOrIgnoreUsing($columns, $query); - } - - /** - * Update records in a PostgreSQL database using the update from syntax. - * - * @return int - * @static - */ - public static function updateFrom($values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->updateFrom($values); - } - - /** - * Insert or update a record matching the attributes, and fill it with values. - * - * @return bool - * @static - */ - public static function updateOrInsert($attributes, $values = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->updateOrInsert($attributes, $values); - } - - /** - * Increment the given column's values by the given amounts. - * - * @param array $columns - * @param array $extra - * @return int<0, max> - * @throws \InvalidArgumentException - * @static - */ - public static function incrementEach($columns, $extra = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->incrementEach($columns, $extra); - } - - /** - * Decrement the given column's values by the given amounts. - * - * @param array $columns - * @param array $extra - * @return int<0, max> - * @throws \InvalidArgumentException - * @static - */ - public static function decrementEach($columns, $extra = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->decrementEach($columns, $extra); - } - - /** - * Run a "truncate" statement on the table. - * - * @return void - * @static - */ - public static function truncate() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - $instance->truncate(); - } - - /** - * Get all of the query builder's columns in a text-only array with all expressions evaluated. - * - * @return list - * @static - */ - public static function getColumns() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getColumns(); - } - - /** - * Create a raw database expression. - * - * @param mixed $value - * @return \Illuminate\Contracts\Database\Query\Expression - * @static - */ - public static function raw($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->raw($value); - } - - /** - * Get the current query value bindings in a flattened array. - * - * @return list - * @static - */ - public static function getBindings() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getBindings(); - } - - /** - * Get the raw array of bindings. - * - * @return \Illuminate\Database\Query\array{ select: list, - * from: list, - * join: list, - * where: list, - * groupBy: list, - * having: list, - * order: list, - * union: list, - * unionOrder: list, - * } - * @static - */ - public static function getRawBindings() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getRawBindings(); - } - - /** - * Set the bindings on the query builder. - * - * @param list $bindings - * @param "select"|"from"|"join"|"where"|"groupBy"|"having"|"order"|"union"|"unionOrder" $type - * @return \Illuminate\Database\Eloquent\Builder - * @throws \InvalidArgumentException - * @static - */ - public static function setBindings($bindings, $type = 'where') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->setBindings($bindings, $type); - } - - /** - * Add a binding to the query. - * - * @param mixed $value - * @param "select"|"from"|"join"|"where"|"groupBy"|"having"|"order"|"union"|"unionOrder" $type - * @return \Illuminate\Database\Eloquent\Builder - * @throws \InvalidArgumentException - * @static - */ - public static function addBinding($value, $type = 'where') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addBinding($value, $type); - } - - /** - * Cast the given binding value. - * - * @param mixed $value - * @return mixed - * @static - */ - public static function castBinding($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->castBinding($value); - } - - /** - * Merge an array of bindings into our bindings. - * - * @param self $query - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function mergeBindings($query) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->mergeBindings($query); - } - - /** - * Remove all of the expressions from a list of bindings. - * - * @param array $bindings - * @return list - * @static - */ - public static function cleanBindings($bindings) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->cleanBindings($bindings); - } - - /** - * Get the database query processor instance. - * - * @return \Illuminate\Database\Query\Processors\Processor - * @static - */ - public static function getProcessor() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getProcessor(); - } - - /** - * Get the query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static - */ - public static function getGrammar() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getGrammar(); - } - - /** - * Use the "write" PDO connection when executing the query. - * - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function useWritePdo() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->useWritePdo(); - } - - /** - * Clone the query without the given properties. - * - * @return static - * @static - */ - public static function cloneWithout($properties) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->cloneWithout($properties); - } - - /** - * Clone the query without the given bindings. - * - * @return static - * @static - */ - public static function cloneWithoutBindings($except) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->cloneWithoutBindings($except); - } - - /** - * Dump the current SQL and bindings. - * - * @param mixed $args - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function dump(...$args) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->dump(...$args); - } - - /** - * Dump the raw current SQL with embedded bindings. - * - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function dumpRawSql() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->dumpRawSql(); - } - - /** - * Die and dump the current SQL and bindings. - * - * @return never - * @static - */ - public static function dd() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->dd(); - } - - /** - * Die and dump the current SQL with embedded bindings. - * - * @return never - * @static - */ - public static function ddRawSql() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->ddRawSql(); - } - - /** - * Add a where clause to determine if a "date" column is in the past to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function wherePast($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->wherePast($columns); - } - - /** - * Add a where clause to determine if a "date" column is in the past or now to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNowOrPast($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNowOrPast($columns); - } - - /** - * Add an "or where" clause to determine if a "date" column is in the past to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWherePast($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWherePast($columns); - } - - /** - * Add a where clause to determine if a "date" column is in the past or now to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNowOrPast($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNowOrPast($columns); - } - - /** - * Add a where clause to determine if a "date" column is in the future to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereFuture($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereFuture($columns); - } - - /** - * Add a where clause to determine if a "date" column is in the future or now to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereNowOrFuture($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNowOrFuture($columns); - } - - /** - * Add an "or where" clause to determine if a "date" column is in the future to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereFuture($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereFuture($columns); - } - - /** - * Add an "or where" clause to determine if a "date" column is in the future or now to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereNowOrFuture($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNowOrFuture($columns); - } - - /** - * Add a "where date" clause to determine if a "date" column is today to the query. - * - * @param array|string $columns - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereToday($columns, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereToday($columns, $boolean); - } - - /** - * Add a "where date" clause to determine if a "date" column is before today. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereBeforeToday($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereBeforeToday($columns); - } - - /** - * Add a "where date" clause to determine if a "date" column is today or before to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereTodayOrBefore($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereTodayOrBefore($columns); - } - - /** - * Add a "where date" clause to determine if a "date" column is after today. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereAfterToday($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereAfterToday($columns); - } - - /** - * Add a "where date" clause to determine if a "date" column is today or after to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function whereTodayOrAfter($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereTodayOrAfter($columns); - } - - /** - * Add an "or where date" clause to determine if a "date" column is today to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereToday($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereToday($columns); - } - - /** - * Add an "or where date" clause to determine if a "date" column is before today. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereBeforeToday($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereBeforeToday($columns); - } - - /** - * Add an "or where date" clause to determine if a "date" column is today or before to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereTodayOrBefore($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereTodayOrBefore($columns); - } - - /** - * Add an "or where date" clause to determine if a "date" column is after today. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereAfterToday($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereAfterToday($columns); - } - - /** - * Add an "or where date" clause to determine if a "date" column is today or after to the query. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function orWhereTodayOrAfter($columns) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereTodayOrAfter($columns); - } - - /** - * Explains the query. - * - * @return \Illuminate\Support\Collection - * @static - */ - public static function explain() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->explain(); - } - - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @param-closure-this static $macro - * @return void - * @static - */ - public static function macro($name, $macro) - { - \Illuminate\Database\Query\Builder::macro($name, $macro); - } - - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ - public static function mixin($mixin, $replace = true) - { - \Illuminate\Database\Query\Builder::mixin($mixin, $replace); - } - - /** - * Flush the existing macros. - * - * @return void - * @static - */ - public static function flushMacros() - { - \Illuminate\Database\Query\Builder::flushMacros(); - } - - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ - public static function macroCall($method, $parameters) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->macroCall($method, $parameters); - } - -} -} - - - - -