Builder
class Builder implements Builder (View source)
Traits
Properties
| static protected array | $macros | The registered string macros.  | 
                from Macroable | 
| ConnectionInterface | $connection | The database connection instance.  | 
                |
| Grammar | $grammar | The database query grammar instance.  | 
                |
| Processor | $processor | The database query post processor instance.  | 
                |
| $bindings | The current query value bindings.  | 
                ||
| $aggregate | An aggregate function and column to be run.  | 
                ||
| (string|Expression)[]|null | $columns | The columns that should be returned.  | 
                |
| bool|array | $distinct | Indicates if the query returns distinct results.  | 
                |
| Expression|string | $from | The table which the query is targeting.  | 
                |
| IndexHint|null | $indexHint | The index hint for the query.  | 
                |
| array|null | $joins | The table joins for the query.  | 
                |
| array | $wheres | The where constraints for the query.  | 
                |
| array|null | $groups | The groupings for the query.  | 
                |
| array|null | $havings | The having constraints for the query.  | 
                |
| array|null | $orders | The orderings for the query.  | 
                |
| int|null | $limit | The maximum number of records to return.  | 
                |
| array|null | $groupLimit | The maximum number of records to return per group.  | 
                |
| int|null | $offset | The number of records to skip.  | 
                |
| array|null | $unions | The query union statements.  | 
                |
| int|null | $unionLimit | The maximum number of union records to return.  | 
                |
| int|null | $unionOffset | The number of union records to skip.  | 
                |
| array|null | $unionOrders | The orderings for the union query.  | 
                |
| string|bool|null | $lock | Indicates whether row locking is being used.  | 
                |
| array | $beforeQueryCallbacks | The callbacks that should be invoked before the query is executed.  | 
                |
| protected array | $afterQueryCallbacks | The callbacks that should be invoked after retrieving data from the database.  | 
                |
| string[] | $operators | All of the available clause operators.  | 
                |
| string[] | $bitwiseOperators | All of the available bitwise operators.  | 
                |
| bool | $useWritePdo | Whether to use write pdo for the select.  | 
                
Methods
Add a where clause to determine if a "date" column is in the past to the query.
Add a where clause to determine if a "date" column is in the past or now to the query.
Add an "or where" clause to determine if a "date" column is in the past to the query.
Add a where clause to determine if a "date" column is in the past or now to the query.
Add a where clause to determine if a "date" column is in the future to the query.
Add a where clause to determine if a "date" column is in the future or now to the query.
Add an "or where" clause to determine if a "date" column is in the future to the query.
Add an "or where" clause to determine if a "date" column is in the future or now to the query.
Add an "where" clause to determine if a "date" column is in the past or future.
Add a "where date" clause to determine if a "date" column is today to the query.
Add a "where date" clause to determine if a "date" column is before today.
Add a "where date" clause to determine if a "date" column is today or before to the query.
Add a "where date" clause to determine if a "date" column is after today.
Add a "where date" clause to determine if a "date" column is today or after to the query.
Add an "or where date" clause to determine if a "date" column is today to the query.
Add an "or where date" clause to determine if a "date" column is before today.
Add an "or where date" clause to determine if a "date" column is today or before to the query.
Add an "or where date" clause to determine if a "date" column is after today.
Add an "or where date" clause to determine if a "date" column is today or after to the query.
Add a "where date" clause to determine if a "date" column is today or after to the query.
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Run a map over each item while chunking.
Execute a callback over each item while chunking.
Chunk the results of a query by comparing IDs.
Chunk the results of a query by comparing IDs in descending order.
Chunk the results of a query by comparing IDs in a given order.
Execute a callback over each item while chunking by ID.
Query lazily, by chunking the results of a query by comparing IDs.
Query lazily, by chunking the results of a query by comparing IDs in descending order.
Query lazily, by chunking the results of a query by comparing IDs in a given order.
Execute the query and get the first result.
Execute the query and get the first result or throw an exception.
Execute the query and get the first result if it's the sole matching record.
Paginate the given query using a cursor paginator.
Get the original column name of the given column, without any aliasing.
Create a new length-aware paginator instance.
Create a new simple paginator instance.
Create a new cursor paginator instance.
Forward a method call to the given object.
Forward a method call to the given object, returning $this if the forwarded call returned itself.
Throw a bad method call exception for the given method.
Mix another object into the class.
Dynamically handle calls to the class.
Handle dynamic method calls into the method.
Create a new query builder instance.
Set the columns to be selected.
Add a subselect expression to the query.
Add a new "raw" select expression to the query.
Makes "from" fetch from a subquery.
Add a raw from clause to the query.
Creates a subquery and parse it.
Parse the subquery into SQL and bindings.
Prepend the database name if the given query is on another database.
Add a new select column to the query.
Force the query to only return distinct results.
Set the table which the query is targeting.
Add an index hint to suggest a query index.
Add an index hint to force a query index.
Add an index hint to ignore a query index.
Add a join clause to the query.
Add a "join where" clause to the query.
Add a subquery join clause to the query.
Add a lateral join clause to the query.
Add a lateral left join to the query.
Add a left join to the query.
Add a "join where" clause to the query.
Add a subquery left join to the query.
Add a right join to the query.
Add a "right join where" clause to the query.
Add a subquery right join to the query.
Add a "cross join" clause to the query.
Add a subquery cross join to the query.
Get a new join lateral clause.
Merge an array of where clauses and bindings.
Add a basic where clause to the query.
Add an array of where clauses to the query.
Prepare the value and operator for a where clause.
Determine if the given operator and value combination is legal.
Determine if the given operator is supported.
Determine if the operator is a bitwise operator.
Add an "or where" clause to the query.
Add a basic "where not" clause to the query.
Add an "or where not" clause to the query.
Add a "where" clause comparing two columns to the query.
Add an "or where" clause comparing two columns to the query.
Add a raw where clause to the query.
Add a raw or where clause to the query.
Add a "where like" clause to the query.
Add an "or where like" clause to the query.
Add a "where not like" clause to the query.
Add an "or where not like" clause to the query.
Add a "where in" clause to the query.
Add a "where not in" clause to the query.
Add an "or where not in" clause to the query.
Add a "where in raw" clause for integer values to the query.
Add an "or where in raw" clause for integer values to the query.
Add a "where not in raw" clause for integer values to the query.
Add an "or where not in raw" clause for integer values to the query.
Add a "where null" clause to the query.
Add a "where not null" clause to the query.
Add a where between statement to the query.
Add a where between statement using columns to the query.
Add an or where between statement to the query.
Add an or where between statement using columns to the query.
Add a where not between statement to the query.
Add a where not between statement using columns to the query.
Add an or where not between statement to the query.
Add an or where not between statement using columns to the query.
Add a where between columns statement using a value to the query.
Add an or where between columns statement using a value to the query.
Add a where not between columns statement using a value to the query.
Add an or where not between columns statement using a value to the query.
Add a "where date" statement to the query.
Add an "or where date" statement to the query.
Add a "where time" statement to the query.
Add an "or where time" statement to the query.
Add a "where day" statement to the query.
Add an "or where day" statement to the query.
Add a "where month" statement to the query.
Add an "or where month" statement to the query.
Add a "where year" statement to the query.
Add an "or where year" statement to the query.
Add a date based (year, month, day, time) statement to the query.
Create a new query instance for nested where condition.
Add another query builder as a nested where to the query builder.
Add a full sub-select to the query.
Add an exists clause to the query.
Add an or exists clause to the query.
Add a where not exists clause to the query.
Add a where not exists clause to the query.
Add an exists clause to the query.
Adds a where condition using row values.
Adds an or where condition using row values.
Add a "where JSON contains" clause to the query.
Add an "or where JSON contains" clause to the query.
Add a "where JSON not contains" clause to the query.
Add an "or where JSON not contains" clause to the query.
Add a "where JSON overlaps" clause to the query.
Add an "or where JSON overlaps" clause to the query.
Add a "where JSON not overlap" clause to the query.
Add an "or where JSON not overlap" clause to the query.
Add a clause that determines if a JSON path exists to the query.
Add an "or" clause that determines if a JSON path exists to the query.
Add a clause that determines if a JSON path does not exist to the query.
Add an "or" clause that determines if a JSON path does not exist to the query.
Add a "where JSON length" clause to the query.
Add an "or where JSON length" clause to the query.
Handles dynamic "where" clauses to the query.
Add a single dynamic where clause statement to the query.
Add a "where fulltext" clause to the query.
Add a "or where fulltext" clause to the query.
Add a "where" clause to the query for multiple columns with "and" conditions between them.
Add an "or where" clause to the query for multiple columns with "and" conditions between them.
Add a "where" clause to the query for multiple columns with "or" conditions between them.
Add an "or where" clause to the query for multiple columns with "or" conditions between them.
Add a "where not" clause to the query for multiple columns where none of the conditions should be true.
Add an "or where not" clause to the query for multiple columns where none of the conditions should be true.
Add a raw groupBy clause to the query.
Add a "having" clause to the query.
Add an "or having" clause to the query.
Add a nested having statement to the query.
Add another query builder as a nested having to the query builder.
Add a "having null" clause to the query.
Add an "or having null" clause to the query.
Add a "having not null" clause to the query.
Add an "or having not null" clause to the query.
Add a "having between " clause to the query.
Add a raw having clause to the query.
Add a raw or having clause to the query.
Add an "order by" clause to the query.
Add a descending "order by" clause to the query.
Add an "order by" clause for a timestamp to the query.
Add an "order by" clause for a timestamp to the query.
Put the query's results in random order.
Add a raw "order by" clause to the query.
Alias to set the "offset" value of the query.
Set the "offset" value of the query.
Alias to set the "limit" value of the query.
Set the "limit" value of the query.
Add a "group limit" clause to the query.
Set the limit and offset for a given page.
Constrain the query to the previous "page" of results before a given ID.
Constrain the query to the next "page" of results after a given ID.
Remove all existing orders and optionally add a new order.
Add descending "reorder" clause to the query.
Get an array with all orders with a given column removed.
Add a union statement to the query.
Add a union all statement to the query.
Lock the selected rows in the table.
Lock the selected rows in the table for updating.
Share lock the selected rows in the table.
Register a closure to be invoked before the query is executed.
Invoke the "before query" modification callbacks.
Invoke the "after query" modification callbacks.
Get the SQL representation of the query.
Get the raw SQL representation of the query with embedded bindings.
Execute a query for a single record by ID.
Get a single column's value from the first result of a query.
Get a single expression value from the first result of a query.
Get a single column's value from the first result of a query if it's the sole matching record.
Execute the query as a "select" statement.
Run the query as a "select" statement against the connection.
Remove the group limit keys from the results in the collection.
Paginate the given query into a simple paginator.
Get a paginator only supporting simple next and previous links.
Get a paginator only supporting simple next and previous links.
Ensure the proper order by required for cursor pagination.
Get the count of the total records for the paginator.
Run a pagination count query.
Clone the existing query instance for usage in a pagination subquery.
Remove the column aliases since they will break count queries.
Get a lazy collection for the given query.
Throw an exception if the query doesn't have an orderBy clause.
Get a collection instance containing the values of a given column.
Strip off the table name or alias from a column identifier.
Retrieve column values from rows represented as objects.
Retrieve column values from rows represented as arrays.
Concatenate values of a given column as a string.
Determine if any rows exist for the current query.
Determine if no rows exist for the current query.
Execute an aggregate function on the database.
Execute a numeric aggregate function on the database.
Set the aggregate property without running the query.
No description
Insert new records into the database.
Insert new records into the database while ignoring errors.
Insert a new record and get the value of the primary key.
Insert new records into the table using a subquery.
Insert new records into the table using a subquery while ignoring errors.
Update records in the database.
Update records in a PostgreSQL database using the update from syntax.
Insert or update a record matching the attributes, and fill it with values.
Insert new records or update the existing ones.
Increment a column's value by a given amount.
Increment the given column's values by the given amounts.
Decrement a column's value by a given amount.
Decrement the given column's values by the given amounts.
Delete records from the database.
Run a truncate statement on the table.
Create a new query instance for a sub-query.
Get all of the query builder's columns in a text-only array with all expressions evaluated.
Create a raw database expression.
Get the query builder instances that are used in the union of the query.
Get the "limit" value for the query or null if it's not set.
Get the "offset" value for the query or null if it's not set.
Get the current query value bindings in a flattened array.
Get the raw array of bindings.
Set the bindings on the query builder.
Add a binding to the query.
Cast the given binding value.
Remove all of the expressions from a list of bindings.
Get a scalar type value from an unknown type of input.
Get the default key name of the table.
Get the database connection instance.
Get the database query processor instance.
Get the query grammar instance.
Use the "write" PDO connection when executing the query.
Determine if the value is a query builder instance or a Closure.
Clone the query without the given properties.
Clone the query without the given bindings.
Dump the current SQL and bindings.
Dump the raw current SQL with embedded bindings.
Die and dump the current SQL and bindings.
Die and dump the current SQL with embedded bindings.
Details
        
                            $this
    wherePast(array|string $columns)
        
    
    Add a where clause to determine if a "date" column is in the past to the query.
        
                            $this
    whereNowOrPast(array|string $columns)
        
    
    Add a where clause to determine if a "date" column is in the past or now to the query.
        
                            $this
    orWherePast(array|string $columns)
        
    
    Add an "or where" clause to determine if a "date" column is in the past to the query.
        
                            $this
    orWhereNowOrPast(array|string $columns)
        
    
    Add a where clause to determine if a "date" column is in the past or now to the query.
        
                            $this
    whereFuture(array|string $columns)
        
    
    Add a where clause to determine if a "date" column is in the future to the query.
        
                            $this
    whereNowOrFuture(array|string $columns)
        
    
    Add a where clause to determine if a "date" column is in the future or now to the query.
        
                            $this
    orWhereFuture(array|string $columns)
        
    
    Add an "or where" clause to determine if a "date" column is in the future to the query.
        
                            $this
    orWhereNowOrFuture(array|string $columns)
        
    
    Add an "or where" clause to determine if a "date" column is in the future or now to the query.
        
                    protected        $this
    wherePastOrFuture(array|string $columns, string $operator, string $boolean)
        
    
    Add an "where" clause to determine if a "date" column is in the past or future.
        
                            $this
    whereToday(array|string $columns, string $boolean = 'and')
        
    
    Add a "where date" clause to determine if a "date" column is today to the query.
        
                            $this
    whereBeforeToday(array|string $columns)
        
    
    Add a "where date" clause to determine if a "date" column is before today.
        
                            $this
    whereTodayOrBefore(array|string $columns)
        
    
    Add a "where date" clause to determine if a "date" column is today or before to the query.
        
                            $this
    whereAfterToday(array|string $columns)
        
    
    Add a "where date" clause to determine if a "date" column is after today.
        
                            $this
    whereTodayOrAfter(array|string $columns)
        
    
    Add a "where date" clause to determine if a "date" column is today or after to the query.
        
                            $this
    orWhereToday(array|string $columns)
        
    
    Add an "or where date" clause to determine if a "date" column is today to the query.
        
                            $this
    orWhereBeforeToday(array|string $columns)
        
    
    Add an "or where date" clause to determine if a "date" column is before today.
        
                            $this
    orWhereTodayOrBefore(array|string $columns)
        
    
    Add an "or where date" clause to determine if a "date" column is today or before to the query.
        
                            $this
    orWhereAfterToday(array|string $columns)
        
    
    Add an "or where date" clause to determine if a "date" column is after today.
        
                            $this
    orWhereTodayOrAfter(array|string $columns)
        
    
    Add an "or where date" clause to determine if a "date" column is today or after to the query.
        
                    protected        $this
    whereTodayBeforeOrAfter(array|string $columns, string $operator, string $boolean)
        
    
    Add a "where date" clause to determine if a "date" column is today or after to the query.
        
                            $this|TWhenReturnType
    when($value = null, callable|null $callback = null, callable|null $default = null)
        
    
    Apply the callback if the given "value" is (or resolves to) truthy.
        
                            $this|TUnlessReturnType
    unless($value = null, callable|null $callback = null, callable|null $default = null)
        
    
    Apply the callback if the given "value" is (or resolves to) falsy.
        
                            bool
    chunk(int $count, callable $callback)
        
    
    Chunk the results of the query.
        
                            TReturn>
    chunkMap(callable $callback, int $count = 1000)
        
    
    Run a map over each item while chunking.
        
                            bool
    each(callable $callback, int $count = 1000)
        
    
    Execute a callback over each item while chunking.
        
                            bool
    chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
        
    
    Chunk the results of a query by comparing IDs.
        
                            bool
    chunkByIdDesc(int $count, callable $callback, string|null $column = null, string|null $alias = null)
        
    
    Chunk the results of a query by comparing IDs in descending order.
        
                            bool
    orderedChunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null, bool $descending = false)
        
    
    Chunk the results of a query by comparing IDs in a given order.
        
                            bool
    eachById(callable $callback, int $count = 1000, string|null $column = null, string|null $alias = null)
        
    
    Execute a callback over each item while chunking by ID.
        
                            TValue>
    lazy(int $chunkSize = 1000)
        
    
    Query lazily, by chunks of the given size.
        
                            TValue>
    lazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
        
    
    Query lazily, by chunking the results of a query by comparing IDs.
        
                            TValue>
    lazyByIdDesc(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
        
    
    Query lazily, by chunking the results of a query by comparing IDs in descending order.
        
                    protected        LazyCollection
    orderedLazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null, bool $descending = false)
        
    
    Query lazily, by chunking the results of a query by comparing IDs in a given order.
        
                            TValue|null
    first(array|string $columns = ['*'])
        
    
    Execute the query and get the first result.
        
                            TValue
    firstOrFail(array|string $columns = ['*'], string|null $message = null)
        
    
    Execute the query and get the first result or throw an exception.
        
                            TValue
    sole(array|string $columns = ['*'])
        
    
    Execute the query and get the first result if it's the sole matching record.
        
                    protected        CursorPaginator
    paginateUsingCursor(int $perPage, array|string $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
        
    
    Paginate the given query using a cursor paginator.
        
                    protected        string
    getOriginalColumnNameForCursorPagination($builder, string $parameter)
        
    
    Get the original column name of the given column, without any aliasing.
        
                    protected        LengthAwarePaginator
    paginator(Collection $items, int $total, int $perPage, int $currentPage, array $options)
        
    
    Create a new length-aware paginator instance.
        
                    protected        Paginator
    simplePaginator(Collection $items, int $perPage, int $currentPage, array $options)
        
    
    Create a new simple paginator instance.
        
                    protected        CursorPaginator
    cursorPaginator(Collection $items, int $perPage, Cursor $cursor, array $options)
        
    
    Create a new cursor paginator instance.
        
                            $this
    tap($callback)
        
    
    Pass the query to a given callback and then return it.
        
                            
    pipe($callback)
        
    
    Pass the query to a given callback and return the result.
        
                            Collection
    explain()
        
    
    Explains the query.
        
                    protected        mixed
    forwardCallTo(mixed $object, string $method, array $parameters)
        
    
    Forward a method call to the given object.
        
                    protected        mixed
    forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
        
    
    Forward a method call to the given object, returning $this if the forwarded call returned itself.
        
                static    protected        never
    throwBadMethodCallException(string $method)
        
    
    Throw a bad method call exception for the given method.
        
                static            void
    macro(string $name, object|callable $macro)
        
    
    Register a custom macro.
        
                static            void
    mixin(object $mixin, bool $replace = true)
        
    
    Mix another object into the class.
        
                static            bool
    hasMacro(string $name)
        
    
    Checks if macro is registered.
        
                static            void
    flushMacros()
        
    
    Flush the existing macros.
        
                static            mixed
    __callStatic(string $method, array $parameters)
        
    
    Dynamically handle calls to the class.
        
                            mixed
    __call(string $method, array $parameters)
        
    
    Handle dynamic method calls into the method.
        
                            
    __construct(ConnectionInterface $connection, Grammar|null $grammar = null, Processor|null $processor = null)
        
    
    Create a new query builder instance.
        
                            $this
    select(mixed $columns = ['*'])
        
    
    Set the columns to be selected.
        
                            $this
    selectSub($query, string $as)
        
    
    Add a subselect expression to the query.
        
                            $this
    selectRaw(string $expression, array $bindings = [])
        
    
    Add a new "raw" select expression to the query.
        
                            $this
    fromSub($query, string $as)
        
    
    Makes "from" fetch from a subquery.
        
                            $this
    fromRaw(string $expression, mixed $bindings = [])
        
    
    Add a raw from clause to the query.
        
                    protected        array
    createSub($query)
        
    
    Creates a subquery and parse it.
        
                    protected        array
    parseSub(mixed $query)
        
    
    Parse the subquery into SQL and bindings.
        
                    protected        mixed
    prependDatabaseNameIfCrossDatabaseQuery(mixed $query)
        
    
    Prepend the database name if the given query is on another database.
        
                            $this
    addSelect(mixed $column)
        
    
    Add a new select column to the query.
        
                            $this
    distinct()
        
    
    Force the query to only return distinct results.
        
                            $this
    from($table, string|null $as = null)
        
    
    Set the table which the query is targeting.
        
                            $this
    useIndex(string $index)
        
    
    Add an index hint to suggest a query index.
        
                            $this
    forceIndex(string $index)
        
    
    Add an index hint to force a query index.
        
                            $this
    ignoreIndex(string $index)
        
    
    Add an index hint to ignore a query index.
        
                            $this
    join(Expression|string $table, Closure|Expression|string $first, string|null $operator = null, Expression|string|null $second = null, string $type = 'inner', bool $where = false)
        
    
    Add a join clause to the query.
        
                            $this
    joinWhere(Expression|string $table, Closure|Expression|string $first, string $operator, Expression|string $second, string $type = 'inner')
        
    
    Add a "join where" clause to the query.
        
                            $this
    joinSub($query, string $as, Closure|Expression|string $first, string|null $operator = null, Expression|string|null $second = null, string $type = 'inner', bool $where = false)
        
    
    Add a subquery join clause to the query.
        
                            $this
    joinLateral($query, string $as, string $type = 'inner')
        
    
    Add a lateral join clause to the query.
        
                            $this
    leftJoinLateral($query, string $as)
        
    
    Add a lateral left join to the query.
        
                            $this
    leftJoin(Expression|string $table, Closure|Expression|string $first, string|null $operator = null, Expression|string|null $second = null)
        
    
    Add a left join to the query.
        
                            $this
    leftJoinWhere(Expression|string $table, Closure|Expression|string $first, string $operator, Expression|string|null $second)
        
    
    Add a "join where" clause to the query.
        
                            $this
    leftJoinSub($query, string $as, Closure|Expression|string $first, string|null $operator = null, Expression|string|null $second = null)
        
    
    Add a subquery left join to the query.
        
                            $this
    rightJoin(Expression|string $table, Closure|string $first, string|null $operator = null, Expression|string|null $second = null)
        
    
    Add a right join to the query.
        
                            $this
    rightJoinWhere(Expression|string $table, Closure|Expression|string $first, string $operator, Expression|string $second)
        
    
    Add a "right join where" clause to the query.
        
                            $this
    rightJoinSub($query, string $as, Closure|Expression|string $first, string|null $operator = null, Expression|string|null $second = null)
        
    
    Add a subquery right join to the query.
        
                            $this
    crossJoin(Expression|string $table, Closure|Expression|string|null $first = null, string|null $operator = null, Expression|string|null $second = null)
        
    
    Add a "cross join" clause to the query.
        
                            $this
    crossJoinSub($query, string $as)
        
    
    Add a subquery cross join to the query.
        
                    protected        JoinClause
    newJoinClause(Builder $parentQuery, string $type, Expression|string $table)
        
    
    Get a new join clause.
        
                    protected        JoinLateralClause
    newJoinLateralClause(Builder $parentQuery, string $type, Expression|string $table)
        
    
    Get a new join lateral clause.
        
                            $this
    mergeWheres(array $wheres, array $bindings)
        
    
    Merge an array of where clauses and bindings.
        
                            $this
    where(Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
        
    
    Add a basic where clause to the query.
        
                    protected        $this
    addArrayOfWheres(array $column, string $boolean, string $method = 'where')
        
    
    Add an array of where clauses to the query.
        
                            array
    prepareValueAndOperator(string $value, string $operator, bool $useDefault = false)
        
    
    Prepare the value and operator for a where clause.
        
                    protected        bool
    invalidOperatorAndValue(string $operator, mixed $value)
        
    
    Determine if the given operator and value combination is legal.
Prevents using Null values with invalid operators.
        
                    protected        bool
    invalidOperator(string $operator)
        
    
    Determine if the given operator is supported.
        
                    protected        bool
    isBitwiseOperator(string $operator)
        
    
    Determine if the operator is a bitwise operator.
        
                            $this
    orWhere(Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
        
    
    Add an "or where" clause to the query.
        
                            $this
    whereNot(Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
        
    
    Add a basic "where not" clause to the query.
        
                            $this
    orWhereNot(Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
        
    
    Add an "or where not" clause to the query.
        
                            $this
    whereColumn(Expression|string|array $first, string|null $operator = null, string|null $second = null, string|null $boolean = 'and')
        
    
    Add a "where" clause comparing two columns to the query.
        
                            $this
    orWhereColumn(Expression|string|array $first, string|null $operator = null, string|null $second = null)
        
    
    Add an "or where" clause comparing two columns to the query.
        
                            $this
    whereRaw(Expression|string $sql, mixed $bindings = [], string $boolean = 'and')
        
    
    Add a raw where clause to the query.
        
                            $this
    orWhereRaw(string $sql, mixed $bindings = [])
        
    
    Add a raw or where clause to the query.
        
                            $this
    whereLike(Expression|string $column, string $value, bool $caseSensitive = false, string $boolean = 'and', bool $not = false)
        
    
    Add a "where like" clause to the query.
        
                            $this
    orWhereLike(Expression|string $column, string $value, bool $caseSensitive = false)
        
    
    Add an "or where like" clause to the query.
        
                            $this
    whereNotLike(Expression|string $column, string $value, bool $caseSensitive = false, string $boolean = 'and')
        
    
    Add a "where not like" clause to the query.
        
                            $this
    orWhereNotLike(Expression|string $column, string $value, bool $caseSensitive = false)
        
    
    Add an "or where not like" clause to the query.
        
                            $this
    whereIn(Expression|string $column, mixed $values, string $boolean = 'and', bool $not = false)
        
    
    Add a "where in" clause to the query.
        
                            $this
    orWhereIn(Expression|string $column, mixed $values)
        
    
    Add an "or where in" clause to the query.
        
                            $this
    whereNotIn(Expression|string $column, mixed $values, string $boolean = 'and')
        
    
    Add a "where not in" clause to the query.
        
                            $this
    orWhereNotIn(Expression|string $column, mixed $values)
        
    
    Add an "or where not in" clause to the query.
        
                            $this
    whereIntegerInRaw(string $column, Arrayable|array $values, string $boolean = 'and', bool $not = false)
        
    
    Add a "where in raw" clause for integer values to the query.
        
                            $this
    orWhereIntegerInRaw(string $column, Arrayable|array $values)
        
    
    Add an "or where in raw" clause for integer values to the query.
        
                            $this
    whereIntegerNotInRaw(string $column, Arrayable|array $values, string $boolean = 'and')
        
    
    Add a "where not in raw" clause for integer values to the query.
        
                            $this
    orWhereIntegerNotInRaw(string $column, Arrayable|array $values)
        
    
    Add an "or where not in raw" clause for integer values to the query.
        
                            $this
    whereNull(string|array|Expression $columns, string $boolean = 'and', bool $not = false)
        
    
    Add a "where null" clause to the query.
        
                            $this
    orWhereNull(string|array|Expression $column)
        
    
    Add an "or where null" clause to the query.
        
                            $this
    whereNotNull(string|array|Expression $columns, string $boolean = 'and')
        
    
    Add a "where not null" clause to the query.
        
                            $this
    whereBetween(Expression|string $column, iterable $values, string $boolean = 'and', bool $not = false)
        
    
    Add a where between statement to the query.
        
                            $this
    whereBetweenColumns(Expression|string $column, array $values, string $boolean = 'and', bool $not = false)
        
    
    Add a where between statement using columns to the query.
        
                            $this
    orWhereBetween(Expression|string $column, iterable $values)
        
    
    Add an or where between statement to the query.
        
                            $this
    orWhereBetweenColumns(Expression|string $column, array $values)
        
    
    Add an or where between statement using columns to the query.
        
                            $this
    whereNotBetween(Expression|string $column, iterable $values, string $boolean = 'and')
        
    
    Add a where not between statement to the query.
        
                            $this
    whereNotBetweenColumns(Expression|string $column, array $values, string $boolean = 'and')
        
    
    Add a where not between statement using columns to the query.
        
                            $this
    orWhereNotBetween(Expression|string $column, iterable $values)
        
    
    Add an or where not between statement to the query.
        
                            $this
    orWhereNotBetweenColumns(Expression|string $column, array $values)
        
    
    Add an or where not between statement using columns to the query.
        
                            $this
    whereValueBetween(mixed $value, array $columns, string $boolean = 'and', bool $not = false)
        
    
    Add a where between columns statement using a value to the query.
        
                            $this
    orWhereValueBetween(mixed $value, array $columns)
        
    
    Add an or where between columns statement using a value to the query.
        
                            $this
    whereValueNotBetween(mixed $value, array $columns, string $boolean = 'and')
        
    
    Add a where not between columns statement using a value to the query.
        
                            $this
    orWhereValueNotBetween(mixed $value, array $columns)
        
    
    Add an or where not between columns statement using a value to the query.
        
                            $this
    orWhereNotNull(Expression|string $column)
        
    
    Add an "or where not null" clause to the query.
        
                            $this
    whereDate(Expression|string $column, DateTimeInterface|string|null $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
        
    
    Add a "where date" statement to the query.
        
                            $this
    orWhereDate(Expression|string $column, DateTimeInterface|string|null $operator, DateTimeInterface|string|null $value = null)
        
    
    Add an "or where date" statement to the query.
        
                            $this
    whereTime(Expression|string $column, DateTimeInterface|string|null $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
        
    
    Add a "where time" statement to the query.
        
                            $this
    orWhereTime(Expression|string $column, DateTimeInterface|string|null $operator, DateTimeInterface|string|null $value = null)
        
    
    Add an "or where time" statement to the query.
        
                            $this
    whereDay(Expression|string $column, DateTimeInterface|string|int|null $operator, DateTimeInterface|string|int|null $value = null, string $boolean = 'and')
        
    
    Add a "where day" statement to the query.
        
                            $this
    orWhereDay(Expression|string $column, DateTimeInterface|string|int|null $operator, DateTimeInterface|string|int|null $value = null)
        
    
    Add an "or where day" statement to the query.
        
                            $this
    whereMonth(Expression|string $column, DateTimeInterface|string|int|null $operator, DateTimeInterface|string|int|null $value = null, string $boolean = 'and')
        
    
    Add a "where month" statement to the query.
        
                            $this
    orWhereMonth(Expression|string $column, DateTimeInterface|string|int|null $operator, DateTimeInterface|string|int|null $value = null)
        
    
    Add an "or where month" statement to the query.
        
                            $this
    whereYear(Expression|string $column, DateTimeInterface|string|int|null $operator, DateTimeInterface|string|int|null $value = null, string $boolean = 'and')
        
    
    Add a "where year" statement to the query.
        
                            $this
    orWhereYear(Expression|string $column, DateTimeInterface|string|int|null $operator, DateTimeInterface|string|int|null $value = null)
        
    
    Add an "or where year" statement to the query.
        
                    protected        $this
    addDateBasedWhere(string $type, Expression|string $column, string $operator, mixed $value, string $boolean = 'and')
        
    
    Add a date based (year, month, day, time) statement to the query.
        
                            $this
    whereNested(Closure $callback, string $boolean = 'and')
        
    
    Add a nested where statement to the query.
        
                            Builder
    forNestedWhere()
        
    
    Create a new query instance for nested where condition.
        
                            $this
    addNestedWhereQuery(Builder $query, string $boolean = 'and')
        
    
    Add another query builder as a nested where to the query builder.
        
                    protected        $this
    whereSub(Expression|string $column, string $operator, $callback, string $boolean)
        
    
    Add a full sub-select to the query.
        
                            $this
    whereExists($callback, string $boolean = 'and', bool $not = false)
        
    
    Add an exists clause to the query.
        
                            $this
    orWhereExists($callback, bool $not = false)
        
    
    Add an or exists clause to the query.
        
                            $this
    whereNotExists($callback, string $boolean = 'and')
        
    
    Add a where not exists clause to the query.
        
                            $this
    orWhereNotExists($callback)
        
    
    Add a where not exists clause to the query.
        
                            $this
    addWhereExistsQuery(Builder $query, string $boolean = 'and', bool $not = false)
        
    
    Add an exists clause to the query.
        
                            $this
    whereRowValues(array $columns, string $operator, array $values, string $boolean = 'and')
        
    
    Adds a where condition using row values.
        
                            $this
    orWhereRowValues(array $columns, string $operator, array $values)
        
    
    Adds an or where condition using row values.
        
                            $this
    whereJsonContains(string $column, mixed $value, string $boolean = 'and', bool $not = false)
        
    
    Add a "where JSON contains" clause to the query.
        
                            $this
    orWhereJsonContains(string $column, mixed $value)
        
    
    Add an "or where JSON contains" clause to the query.
        
                            $this
    whereJsonDoesntContain(string $column, mixed $value, string $boolean = 'and')
        
    
    Add a "where JSON not contains" clause to the query.
        
                            $this
    orWhereJsonDoesntContain(string $column, mixed $value)
        
    
    Add an "or where JSON not contains" clause to the query.
        
                            $this
    whereJsonOverlaps(string $column, mixed $value, string $boolean = 'and', bool $not = false)
        
    
    Add a "where JSON overlaps" clause to the query.
        
                            $this
    orWhereJsonOverlaps(string $column, mixed $value)
        
    
    Add an "or where JSON overlaps" clause to the query.
        
                            $this
    whereJsonDoesntOverlap(string $column, mixed $value, string $boolean = 'and')
        
    
    Add a "where JSON not overlap" clause to the query.
        
                            $this
    orWhereJsonDoesntOverlap(string $column, mixed $value)
        
    
    Add an "or where JSON not overlap" clause to the query.
        
                            $this
    whereJsonContainsKey(string $column, string $boolean = 'and', bool $not = false)
        
    
    Add a clause that determines if a JSON path exists to the query.
        
                            $this
    orWhereJsonContainsKey(string $column)
        
    
    Add an "or" clause that determines if a JSON path exists to the query.
        
                            $this
    whereJsonDoesntContainKey(string $column, string $boolean = 'and')
        
    
    Add a clause that determines if a JSON path does not exist to the query.
        
                            $this
    orWhereJsonDoesntContainKey(string $column)
        
    
    Add an "or" clause that determines if a JSON path does not exist to the query.
        
                            $this
    whereJsonLength(string $column, mixed $operator, mixed $value = null, string $boolean = 'and')
        
    
    Add a "where JSON length" clause to the query.
        
                            $this
    orWhereJsonLength(string $column, mixed $operator, mixed $value = null)
        
    
    Add an "or where JSON length" clause to the query.
        
                            $this
    dynamicWhere(string $method, array $parameters)
        
    
    Handles dynamic "where" clauses to the query.
        
                    protected        void
    addDynamic(string $segment, string $connector, array $parameters, int $index)
        
    
    Add a single dynamic where clause statement to the query.
        
                            $this
    whereFullText(string|string[] $columns, string $value, array $options = [], string $boolean = 'and')
        
    
    Add a "where fulltext" clause to the query.
        
                            $this
    orWhereFullText(string|string[] $columns, string $value, array $options = [])
        
    
    Add a "or where fulltext" clause to the query.
        
                            $this
    whereAll(Expression[]|Closure[]|string[] $columns, mixed $operator = null, mixed $value = null, string $boolean = 'and')
        
    
    Add a "where" clause to the query for multiple columns with "and" conditions between them.
        
                            $this
    orWhereAll(Expression[]|Closure[]|string[] $columns, mixed $operator = null, mixed $value = null)
        
    
    Add an "or where" clause to the query for multiple columns with "and" conditions between them.
        
                            $this
    whereAny(Expression[]|Closure[]|string[] $columns, mixed $operator = null, mixed $value = null, string $boolean = 'and')
        
    
    Add a "where" clause to the query for multiple columns with "or" conditions between them.
        
                            $this
    orWhereAny(Expression[]|Closure[]|string[] $columns, mixed $operator = null, mixed $value = null)
        
    
    Add an "or where" clause to the query for multiple columns with "or" conditions between them.
        
                            $this
    whereNone(Expression[]|Closure[]|string[] $columns, mixed $operator = null, mixed $value = null, string $boolean = 'and')
        
    
    Add a "where not" clause to the query for multiple columns where none of the conditions should be true.
        
                            $this
    orWhereNone(Expression[]|Closure[]|string[] $columns, mixed $operator = null, mixed $value = null)
        
    
    Add an "or where not" clause to the query for multiple columns where none of the conditions should be true.
        
                            $this
    groupBy(array|Expression|string ...$groups)
        
    
    Add a "group by" clause to the query.
        
                            $this
    groupByRaw(string $sql, array $bindings = [])
        
    
    Add a raw groupBy clause to the query.
        
                            $this
    having(Expression|Closure|string $column, DateTimeInterface|string|int|float|null $operator = null, Expression|DateTimeInterface|string|int|float|null $value = null, string $boolean = 'and')
        
    
    Add a "having" clause to the query.
        
                            $this
    orHaving(Expression|Closure|string $column, DateTimeInterface|string|int|float|null $operator = null, Expression|DateTimeInterface|string|int|float|null $value = null)
        
    
    Add an "or having" clause to the query.
        
                            $this
    havingNested(Closure $callback, string $boolean = 'and')
        
    
    Add a nested having statement to the query.
        
                            $this
    addNestedHavingQuery(Builder $query, string $boolean = 'and')
        
    
    Add another query builder as a nested having to the query builder.
        
                            $this
    havingNull(array|string $columns, string $boolean = 'and', bool $not = false)
        
    
    Add a "having null" clause to the query.
        
                            $this
    orHavingNull(string $column)
        
    
    Add an "or having null" clause to the query.
        
                            $this
    havingNotNull(array|string $columns, string $boolean = 'and')
        
    
    Add a "having not null" clause to the query.
        
                            $this
    orHavingNotNull(string $column)
        
    
    Add an "or having not null" clause to the query.
        
                            $this
    havingBetween(string $column, iterable $values, string $boolean = 'and', bool $not = false)
        
    
    Add a "having between " clause to the query.
        
                            $this
    havingRaw(string $sql, array $bindings = [], string $boolean = 'and')
        
    
    Add a raw having clause to the query.
        
                            $this
    orHavingRaw(string $sql, array $bindings = [])
        
    
    Add a raw or having clause to the query.
        
                            $this
    orderBy($column, string $direction = 'asc')
        
    
    Add an "order by" clause to the query.
        
                            $this
    orderByDesc($column)
        
    
    Add a descending "order by" clause to the query.
        
                            $this
    latest(Closure|Builder|Expression|string $column = 'created_at')
        
    
    Add an "order by" clause for a timestamp to the query.
        
                            $this
    oldest(Closure|Builder|Expression|string $column = 'created_at')
        
    
    Add an "order by" clause for a timestamp to the query.
        
                            $this
    inRandomOrder(string|int $seed = '')
        
    
    Put the query's results in random order.
        
                            $this
    orderByRaw(string $sql, array $bindings = [])
        
    
    Add a raw "order by" clause to the query.
        
                            $this
    skip(int $value)
        
    
    Alias to set the "offset" value of the query.
        
                            $this
    offset(int $value)
        
    
    Set the "offset" value of the query.
        
                            $this
    take(int $value)
        
    
    Alias to set the "limit" value of the query.
        
                            $this
    limit(int $value)
        
    
    Set the "limit" value of the query.
        
                            $this
    groupLimit(int $value, string $column)
        
    
    Add a "group limit" clause to the query.
        
                            $this
    forPage(int $page, int $perPage = 15)
        
    
    Set the limit and offset for a given page.
        
                            $this
    forPageBeforeId(int $perPage = 15, int|null $lastId = 0, string $column = 'id')
        
    
    Constrain the query to the previous "page" of results before a given ID.
        
                            $this
    forPageAfterId(int $perPage = 15, int|null $lastId = 0, string $column = 'id')
        
    
    Constrain the query to the next "page" of results after a given ID.
        
                            $this
    reorder(Closure|Builder|Expression|string|null $column = null, string $direction = 'asc')
        
    
    Remove all existing orders and optionally add a new order.
        
                            $this
    reorderDesc(Closure|Builder|Expression|string|null $column)
        
    
    Add descending "reorder" clause to the query.
        
                    protected        array
    removeExistingOrdersFor(string $column)
        
    
    Get an array with all orders with a given column removed.
        
                            $this
    union($query, bool $all = false)
        
    
    Add a union statement to the query.
        
                            $this
    unionAll($query)
        
    
    Add a union all statement to the query.
        
                            $this
    lock(string|bool $value = true)
        
    
    Lock the selected rows in the table.
        
                            $this
    lockForUpdate()
        
    
    Lock the selected rows in the table for updating.
        
                            $this
    sharedLock()
        
    
    Share lock the selected rows in the table.
        
                            $this
    beforeQuery(callable $callback)
        
    
    Register a closure to be invoked before the query is executed.
        
                            void
    applyBeforeQueryCallbacks()
        
    
    Invoke the "before query" modification callbacks.
        
                            $this
    afterQuery(Closure $callback)
        
    
    Register a closure to be invoked after the query is executed.
        
                            mixed
    applyAfterQueryCallbacks(mixed $result)
        
    
    Invoke the "after query" modification callbacks.
        
                            string
    toSql()
        
    
    Get the SQL representation of the query.
        
                            string
    toRawSql()
        
    
    Get the raw SQL representation of the query with embedded bindings.
        
                            object|null
    find(int|string $id, string|Expression|(string|Expression)[] $columns = ['*'])
        
    
    Execute a query for a single record by ID.
        
                            
    findOr($id, $columns = ['*'], Closure|null $callback = null)
        
    
    No description
        
                            mixed
    value(string $column)
        
    
    Get a single column's value from the first result of a query.
        
                            mixed
    rawValue(string $expression, array $bindings = [])
        
    
    Get a single expression value from the first result of a query.
        
                            mixed
    soleValue(string $column)
        
    
    Get a single column's value from the first result of a query if it's the sole matching record.
        
                            stdClass>
    get(string|Expression|(string|Expression)[] $columns = ['*'])
        
    
    Execute the query as a "select" statement.
        
                    protected        array
    runSelect()
        
    
    Run the query as a "select" statement against the connection.
        
                    protected        Collection
    withoutGroupLimitKeys(Collection $items)
        
    
    Remove the group limit keys from the results in the collection.
        
                            LengthAwarePaginator
    paginate(int|Closure $perPage = 15, string|Expression|(string|Expression)[] $columns = ['*'], string $pageName = 'page', int|null $page = null, Closure|int|null $total = null)
        
    
    Paginate the given query into a simple paginator.
        
                            Paginator
    simplePaginate(int $perPage = 15, string|Expression|(string|Expression)[] $columns = ['*'], string $pageName = 'page', int|null $page = null)
        
    
    Get a paginator only supporting simple next and previous links.
This is more efficient on larger data-sets, etc.
        
                            CursorPaginator
    cursorPaginate(int|null $perPage = 15, string|Expression|(string|Expression)[] $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
        
    
    Get a paginator only supporting simple next and previous links.
This is more efficient on larger data-sets, etc.
        
                    protected        Collection
    ensureOrderForCursorPagination(bool $shouldReverse = false)
        
    
    Ensure the proper order by required for cursor pagination.
        
                            int<0, max>
    getCountForPagination((string|Expression)[] $columns = ['*'])
        
    
    Get the count of the total records for the paginator.
        
                    protected        array
    runPaginationCountQuery((string|Expression)[] $columns = ['*'])
        
    
    Run a pagination count query.
        
                    protected        Builder
    cloneForPaginationCount()
        
    
    Clone the existing query instance for usage in a pagination subquery.
        
                    protected        (string|Expression)[]
    withoutSelectAliases(array $columns)
        
    
    Remove the column aliases since they will break count queries.
        
                            stdClass>
    cursor()
        
    
    Get a lazy collection for the given query.
        
                    protected        void
    enforceOrderBy()
        
    
    Throw an exception if the query doesn't have an orderBy clause.
        
                            Collection<array-key,mixed>
    pluck(Expression|string $column, string|null $key = null)
        
    
    Get a collection instance containing the values of a given column.
        
                    protected        string|null
    stripTableForPluck(string $column)
        
    
    Strip off the table name or alias from a column identifier.
        
                    protected        Collection
    pluckFromObjectColumn(array $queryResult, string $column, string $key)
        
    
    Retrieve column values from rows represented as objects.
        
                    protected        Collection
    pluckFromArrayColumn(array $queryResult, string $column, string $key)
        
    
    Retrieve column values from rows represented as arrays.
        
                            string
    implode(string $column, string $glue = '')
        
    
    Concatenate values of a given column as a string.
        
                            bool
    exists()
        
    
    Determine if any rows exist for the current query.
        
                            bool
    doesntExist()
        
    
    Determine if no rows exist for the current query.
        
                            mixed
    existsOr(Closure $callback)
        
    
    Execute the given callback if no rows exist for the current query.
        
                            mixed
    doesntExistOr(Closure $callback)
        
    
    Execute the given callback if rows exist for the current query.
        
                            int<0, max>
    count(Expression|string $columns = '*')
        
    
    Retrieve the "count" result of the query.
        
                            mixed
    min(Expression|string $column)
        
    
    Retrieve the minimum value of a given column.
        
                            mixed
    max(Expression|string $column)
        
    
    Retrieve the maximum value of a given column.
        
                            mixed
    sum(Expression|string $column)
        
    
    Retrieve the sum of the values of a given column.
        
                            mixed
    avg(Expression|string $column)
        
    
    Retrieve the average of the values of a given column.
        
                            mixed
    average(Expression|string $column)
        
    
    Alias for the "avg" method.
        
                            mixed
    aggregate(string $function, array $columns = ['*'])
        
    
    Execute an aggregate function on the database.
        
                            float|int
    numericAggregate(string $function, array $columns = ['*'])
        
    
    Execute a numeric aggregate function on the database.
        
                    protected        $this
    setAggregate(string $function, Expression|string)[] $columns)
        
    
    Set the aggregate property without running the query.
        
                    protected        
    onceWithColumns($columns, $callback)
        
    
    No description
        
                            bool
    insert(array $values)
        
    
    Insert new records into the database.
        
                            int<0, max>
    insertOrIgnore(array $values)
        
    
    Insert new records into the database while ignoring errors.
        
                            int
    insertGetId(array $values, string|null $sequence = null)
        
    
    Insert a new record and get the value of the primary key.
        
                            int
    insertUsing(array $columns, $query)
        
    
    Insert new records into the table using a subquery.
        
                            int
    insertOrIgnoreUsing(array $columns, $query)
        
    
    Insert new records into the table using a subquery while ignoring errors.
        
                            int<0, max>
    update(array $values)
        
    
    Update records in the database.
        
                            int
    updateFrom(array $values)
        
    
    Update records in a PostgreSQL database using the update from syntax.
        
                            bool
    updateOrInsert(array $attributes, array|callable $values = [])
        
    
    Insert or update a record matching the attributes, and fill it with values.
        
                            int
    upsert(array $values, array|string $uniqueBy, array|null $update = null)
        
    
    Insert new records or update the existing ones.
        
                            int<0, max>
    increment(string $column, float|int $amount = 1, array $extra = [])
        
    
    Increment a column's value by a given amount.
        
                            int<0, max>
    incrementEach(array $columns, array $extra = [])
        
    
    Increment the given column's values by the given amounts.
        
                            int<0, max>
    decrement(string $column, float|int $amount = 1, array $extra = [])
        
    
    Decrement a column's value by a given amount.
        
                            int<0, max>
    decrementEach(array $columns, array $extra = [])
        
    
    Decrement the given column's values by the given amounts.
        
                            int
    delete(mixed $id = null)
        
    
    Delete records from the database.
        
                            void
    truncate()
        
    
    Run a truncate statement on the table.
        
                            Builder
    newQuery()
        
    
    Get a new instance of the query builder.
        
                    protected        Builder
    forSubQuery()
        
    
    Create a new query instance for a sub-query.
        
                            list<string>
    getColumns()
        
    
    Get all of the query builder's columns in a text-only array with all expressions evaluated.
        
                            Expression
    raw(mixed $value)
        
    
    Create a raw database expression.
        
                    protected        Collection
    getUnionBuilders()
        
    
    Get the query builder instances that are used in the union of the query.
        
                            mixed
    getLimit()
        
    
    Get the "limit" value for the query or null if it's not set.
        
                            mixed
    getOffset()
        
    
    Get the "offset" value for the query or null if it's not set.
        
                            list
    getBindings()
        
    
    Get the current query value bindings in a flattened array.
        
                            
    getRawBindings()
        
    
    Get the raw array of bindings.
        
                            $this
    setBindings(array $bindings, $type = 'where')
        
    
    Set the bindings on the query builder.
        
                            $this
    addBinding(mixed $value, $type = 'where')
        
    
    Add a binding to the query.
        
                            mixed
    castBinding(mixed $value)
        
    
    Cast the given binding value.
        
                            $this
    mergeBindings(Builder $query)
        
    
    Merge an array of bindings into our bindings.
        
                            list
    cleanBindings(array $bindings)
        
    
    Remove all of the expressions from a list of bindings.
        
                    protected        mixed
    flattenValue(mixed $value)
        
    
    Get a scalar type value from an unknown type of input.
        
                    protected        string
    defaultKeyName()
        
    
    Get the default key name of the table.
        
                            ConnectionInterface
    getConnection()
        
    
    Get the database connection instance.
        
                            Processor
    getProcessor()
        
    
    Get the database query processor instance.
        
                            Grammar
    getGrammar()
        
    
    Get the query grammar instance.
        
                            $this
    useWritePdo()
        
    
    Use the "write" PDO connection when executing the query.
        
                    protected        bool
    isQueryable(mixed $value)
        
    
    Determine if the value is a query builder instance or a Closure.
        
                            Builder
    clone()
        
    
    Clone the query.
        
                            Builder
    cloneWithout(array $properties)
        
    
    Clone the query without the given properties.
        
                            Builder
    cloneWithoutBindings(array $except)
        
    
    Clone the query without the given bindings.
        
                            $this
    dump(mixed ...$args)
        
    
    Dump the current SQL and bindings.
        
                            $this
    dumpRawSql()
        
    
    Dump the raw current SQL with embedded bindings.
        
                            never
    dd()
        
    
    Die and dump the current SQL and bindings.
        
                            never
    ddRawSql()
        
    
    Die and dump the current SQL with embedded bindings.