class HasMany extends HasOneOrMany

Has many relation.

Constants

EAGER_LOAD_CHUNK_SIZE

Eager load chunk size.

Properties

protected Connection $connection Database connection. from Query
protected HelperInterface $helper Query helper. from Query
protected Compiler $compiler Query compiler. from Query
protected mixed $table Database table. from Query
protected bool $distinct Select distinct? from Query
protected array $commonTableExpressions Common table expressions. from Query
protected array $setOperations Set operations. from Query
protected array $columns Columns from which we are fetching data. from Query
protected array $wheres WHERE clauses. from Query
protected array $joins JOIN clauses. from Query
protected array $groupings GROUP BY clauses. from Query
protected array $havings HAVING clauses. from Query
protected array $orderings ORDER BY clauses. from Query
protected int|null $limit Limit. from Query
protected int|null $offset Offset. from Query
protected bool|string|null $lock Lock. from Query
protected string|null $prefix Prefix. from Query
protected bool $inSubqueryContext Is the query in subquery context? from Query
static protected PaginationFactoryInterface $paginationFactory Pagination factory. from Query
protected ORM $model Instance of the model to hydrate. from Query
protected string $modelClass Class name of the model we're hydrating. from Query
protected ORM $parent Parent record. from Relation
protected string $foreignKey Foreign key. from Relation
protected bool $lazy Lazy load related records? from Relation

Methods

__construct(Connection $connection, ORM $parent, ORM $related, string|null $foreignKey = null)

Constructor.

from Relation
__clone()

Create a fresh compiler instance when we clone the query.

from Query
reset()

Resets the query to its default state.

from Query
newInstance()

Returns a new query builder instance.

from Query
$this
inSubqueryContext()

Sets the query to subquery context.

from Query
static 
setPaginationFactory(PaginationFactoryInterface|Closure $factory)

Sets the pagination factory.

from Query
getPaginationFactory()

Gets the pagination factory.

from Query
getConnection()

Returns the connection instance.

from Query
getCompiler()

Returns query compiler instance.

from Query
array
getCommonTableExpressions()

Returns the common set operations.

from Query
array
getSetOperations()

Returns the set operations.

from Query
mixed
getTable()

Returns the database table.

from Query
bool
isDistinct()

Is it a distict select?

from Query
array
getColumns()

Returns the columns from which we are fetching data.

from Query
array
getWheres()

Returns WHERE clauses.

from Query
array
getJoins()

Returns JOIN clauses.

from Query
array
getGroupings()

Returns GROUP BY clauses.

from Query
array
getHavings()

Returns HAVING clauses.

from Query
array
getOrderings()

Returns ORDER BY clauses.

from Query
int|null
getLimit()

Returns the limit.

from Query
int|null
getOffset()

Returns the offset.

from Query
bool|string|null
getLock()

Returns the lock.

from Query
string|null
getPrefix()

Returns the prefix.

from Query
$this
forCompiler(string $compilerClass, Closure $query)

Executes the closure if the compiler is of the correct class.

from Query
$this
with(string $name, array $columns = [], Closure|Query|Subquery $query)

Adds a common table expression.

from Query
$this
withRecursive(string $name, array $columns = [], Closure|Query|Subquery $query)

Adds a recursive common table expression.

from Query
$this
setOperation(Closure|Query|Subquery|null $query = null, string $operation)

Adds a set operation.

from Query
$this
union(Closure|Query|Subquery|null $query = null)

Adds a UNION operation.

from Query
$this
unionAll(Closure|Query|Subquery|null $query = null)

Adds a UNION ALL operation.

from Query
$this
intersect(Closure|Query|Subquery|null $query = null)

Adds a INTERSECT operation.

from Query
$this
intersectAll(Closure|Query|Subquery|null $query = null)

Adds a INTERSECT ALL operation.

from Query
$this
except(Closure|Query|Subquery|null $query = null)

Adds a EXCEPT operation.

from Query
$this
exceptAll(Closure|Query|Subquery|null $query = null)

Adds a EXCEPT ALL operation.

from Query
$this
table(string|array|Closure|Subquery|Raw|null $table)

Sets table we want to query.

from Query
$this
from(string|array|Closure|Subquery|Raw|null $table)

Alias of Query::table().

from Query
$this
into(string|array|Closure|Subquery|Raw|null $table)

Alias of Query::table().

from Query
$this
select(array $columns)

Sets the columns we want to select.

from Query
$this
selectRaw(string $sql)

Sets the columns we want to select using raw SQL.

from Query
$this
distinct()

Select distinct?

from Query
$this
where(string|array|Closure $column, string|null $operator = null, mixed $value = null, string $separator = 'AND')

Adds a WHERE clause.

from Query
$this
whereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null, string $separator = 'AND')

Adds a raw WHERE clause.

from Query
$this
orWhere(string|array|Closure $column, string|null $operator = null, mixed $value = null)

Adds a OR WHERE clause.

from Query
$this
orWhereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null)

Adds a raw OR WHERE clause.

from Query
$this
whereDate(string $column, string $operator, string|DateTimeInterface $date, string $separator = 'AND')

Adds a date comparison clause.

from Query
$this
orWhereDate(string $column, string $operator, string|DateTimeInterface $date)

Adds a date comparison clause.

from Query
$this
whereColumn(string|array $column1, string $operator, string|array $column2, string $separator = 'AND')

Adds a column comparison clause.

from Query
$this
orWhereColumn(string|array $column1, string $operator, string|array $column2)

Adds a column comparison clause.

from Query
$this
between(mixed $column, mixed $value1, mixed $value2, string $separator = 'AND', bool $not = false)

Adds a BETWEEN clause.

from Query
$this
orBetween(mixed $column, mixed $value1, mixed $value2)

Adds a OR BETWEEN clause.

from Query
$this
notBetween(mixed $column, mixed $value1, mixed $value2)

Adds a NOT BETWEEN clause.

from Query
$this
orNotBetween(mixed $column, mixed $value1, mixed $value2)

Adds a OR NOT BETWEEN clause.

from Query
$this
betweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2, string $separator = 'AND', bool $not = false)

Adds a date range clause.

from Query
orBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

from Query
notBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

from Query
orNotBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

from Query
$this
in(mixed $column, array|Raw|Closure|Subquery $values, string $separator = 'AND', bool $not = false)

Adds a IN clause.

from Query
$this
orIn(mixed $column, array|Raw|Closure|Subquery $values)

Adds a OR IN clause.

from Query
$this
notIn(mixed $column, array|Raw|Closure|Subquery $values)

Adds a NOT IN clause.

from Query
$this
orNotIn(mixed $column, array|Raw|Closure|Subquery $values)

Adds a OR NOT IN clause.

from Query
$this
isNull(mixed $column, string $separator = 'AND', bool $not = false)

Adds a IS NULL clause.

from Query
$this
orIsNull(mixed $column)

Adds a OR IS NULL clause.

from Query
$this
isNotNull(mixed $column)

Adds a IS NOT NULL clause.

from Query
$this
orIsNotNull(mixed $column)

Adds a OR IS NOT NULL clause.

from Query
$this
exists(Closure|Subquery $query, string $separator = 'AND', bool $not = false)

Adds a EXISTS clause.

from Query
$this
orExists(Closure|Subquery $query)

Adds a OR EXISTS clause.

from Query
$this
notExists(Closure|Subquery $query)

Adds a NOT EXISTS clause.

from Query
$this
orNotExists(Closure|Subquery $query)

Adds a OR NOT EXISTS clause.

from Query
$this
join(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null, string $type = 'INNER', bool $raw = false)

Adds a JOIN clause.

from Query
$this
joinRaw(string $table, string $column1, string $operator, string $raw, string $type = 'INNER')

Adds a raw JOIN clause.

from Query
$this
leftJoin(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null)

Adds a LEFT OUTER JOIN clause.

from Query
$this
leftJoinRaw(string $table, string $column1, string $operator, string $raw)

Adds a raw LEFT OUTER JOIN clause.

from Query
$this
groupBy(string|array $columns)

Adds a GROUP BY clause.

from Query
$this
having(string $column, string $operator, mixed $value, string $separator = 'AND')

Adds a HAVING clause.

from Query
$this
havingRaw(string $raw, string $operator, mixed $value, string $separator = 'AND')

Adds a raw HAVING clause.

from Query
$this
orHaving(string $column, string $operator, mixed $value)

Adds a OR HAVING clause.

from Query
$this
orHavingRaw(string $raw, string $operator, mixed $value)

Adds a raw OR HAVING clause.

from Query
$this
orderBy(string|array $columns, string $order = 'ASC')

Adds a ORDER BY clause.

from Query
$this
orderByRaw(string $raw, string $order = 'ASC')

Adds a raw ORDER BY clause.

from Query
$this
ascending(string|array $columns)

Adds an ascending ORDER BY clause.

from Query
$this
ascendingRaw(string $raw)

Adds a raw ascending ORDER BY clause.

from Query
$this
descending(string|array $columns)

Adds a descending ORDER BY clause.

from Query
$this
descendingRaw(string $raw)

Adds a raw descending ORDER BY clause.

from Query
$this
clearOrderings()

Clears the ordering clauses.

from Query
$this
limit(int $limit)

Adds a LIMIT clause.

from Query
$this
offset(int $offset)

Adds a OFFSET clause.

from Query
$this
lock(bool|string $lock = true)

Enable lock.

from Query
$this
sharedLock()

Enable shared lock.

from Query
$this
prefix(string $prefix)

Adds a query prefix.

from Query
mixed
fetchFirst(mixed ...$fetchMode)

Executes a SELECT query and returns the first row of the result set.

from Query
mixed
first()

Returns a single record from the database.

from Relation
createResultSet(array $results)

Creates a result set.

from Query
array|ResultSet
fetchAll(bool $returnResultSet, mixed ...$fetchMode)

Executes a SELECT query and returns an array containing all of the result set rows.

from Query
all()

Returns a result set from the database.

from Relation
mixed
column(string $column = null)

Executes a SELECT query and returns the value of the chosen column of the first row of the result set.

from Query
array
columns(string $column = null)

Executes a SELECT query and returns an array containing the values of the indicated 0-indexed column.

from Query
array
pairs(string $key, string $value)

Executes a SELECT query and returns an array where the first column is used as keys and the second as values.

from Query
fetchYield(mixed ...$fetchMode)

Executes a SELECT query and returns a generator that lets you iterate over the results.

from Query
yield()

Returns a generator that lets you iterate over the results.

from Query
int
paginationCount()

Returns the number of records that the query will return.

from Query
paginate($itemsPerPage = null, array $options = [])

No description

from Query
batch(Closure $processor, int $batchSize = 1000, int $offsetStart = 0, int|null $offsetEnd = null)

Fetches data in batches and passes them to the processor closure.

from Query
array|void
aggregate(string $function, string|array $column)

Sets the selected column of the query to the chosen aggreate.

from Query
mixed
min(string $column)

Returns the minimum value for the chosen column.

from Query
mixed
max(string $column)

Returns the maximum value for the chosen column.

from Query
mixed
sum(string $column)

Returns sum of all the values in the chosen column.

from Query
mixed
avg(string $column)

Returns the average value for the chosen column.

from Query
int
count(string $column = '*')

Returns the number of rows.

from Query
int
countDistinct(string|array $column)

Returns the number of distinct values of the chosen column.

from Query
bool
insert(array $values = [])

Inserts data into the chosen table.

from Query
int|bool
insertAndGetId(array $values, string $primaryKey = 'id')

Inserts data into the chosen table and returns the auto increment id.

from Query
int
update(array $values)

Updates data from the chosen table.

from Query
int
increment(string $column, int $increment = 1)

Increments column value.

from Query
int
decrement(string $column, int $decrement = 1)

Decrements column value.

from Query
int
delete()

Deletes data from the chosen table.

from Query
ORM
getModel()

Returns the model.

from Query
ORM
get(int|string $id, array $columns = [])

Returns a record using the value of its primary key.

from Query
$this
including(string|array|bool $includes)

Adds relations to eager load.

from Query
$this
excluding(string|array|bool $excludes)

Removes relations to eager load.

from Query
ORM
hydrateModel(array $result)

Returns a hydrated model.

from Query
array
parseIncludes()

Parses includes.

from Query
loadIncludes(array $results)

Load includes.

from Query
array
hydrateModelsAndLoadIncludes(mixed $results)

Returns hydrated models.

from Query
$this
scope(string $scope, mixed ...$arguments)

Calls a scope method on the model.

from Query
string
getForeignKey()

Returns the foreign key.

from Relation
array
keys(array $results)

Returns the keys used to eagerly load records.

from Relation
lazyCriterion()

Sets the criterion used when lazy loading related records.

from Relation
$this
eagerCriterion(array $keys)

Sets the criterion used when eager loading related records.

from Relation
eagerLoadChunked(array $keys)

Eager loads records in chunks.

from Relation
adjustQuery()

Adjusts the query.

from Relation
ORM
create(ORM|array $related)

Creates a related record.

eagerLoad(array $results, string $relation, Closure|null $criteria, array $includes)

Eager loads related records and matches them with their parent records.

getRelated()

Returns a related result set from the database.

Details

in Relation at line 63
__construct(Connection $connection, ORM $parent, ORM $related, string|null $foreignKey = null)

Constructor.

Parameters

Connection $connection Database connection
ORM $parent Parent model
ORM $related Related model
string|null $foreignKey Foreign key name

in Query at line 182
__clone()

Create a fresh compiler instance when we clone the query.

in Query at line 190
protected reset()

Resets the query to its default state.

in Query at line 205
Query newInstance()

Returns a new query builder instance.

Return Value

Query

in Query at line 215
$this inSubqueryContext()

Sets the query to subquery context.

Return Value

$this

in Query at line 227
static setPaginationFactory(PaginationFactoryInterface|Closure $factory)

Sets the pagination factory.

Parameters

PaginationFactoryInterface|Closure $factory Pagination factory

in Query at line 237
static PaginationFactoryInterface getPaginationFactory()

Gets the pagination factory.

in Query at line 254
Connection getConnection()

Returns the connection instance.

Return Value

Connection

in Query at line 264
Compiler getCompiler()

Returns query compiler instance.

Return Value

Compiler

in Query at line 274
array getCommonTableExpressions()

Returns the common set operations.

Return Value

array

in Query at line 284
array getSetOperations()

Returns the set operations.

Return Value

array

in Query at line 294
mixed getTable()

Returns the database table.

Return Value

mixed

in Query at line 304
bool isDistinct()

Is it a distict select?

Return Value

bool

in Query at line 314
array getColumns()

Returns the columns from which we are fetching data.

Return Value

array

in Query at line 324
array getWheres()

Returns WHERE clauses.

Return Value

array

in Query at line 334
array getJoins()

Returns JOIN clauses.

Return Value

array

in Query at line 344
array getGroupings()

Returns GROUP BY clauses.

Return Value

array

in Query at line 354
array getHavings()

Returns HAVING clauses.

Return Value

array

in Query at line 364
array getOrderings()

Returns ORDER BY clauses.

Return Value

array

in Query at line 374
int|null getLimit()

Returns the limit.

Return Value

int|null

in Query at line 384
int|null getOffset()

Returns the offset.

Return Value

int|null

in Query at line 394
bool|string|null getLock()

Returns the lock.

Return Value

bool|string|null

in Query at line 404
string|null getPrefix()

Returns the prefix.

Return Value

string|null

in Query at line 416
$this forCompiler(string $compilerClass, Closure $query)

Executes the closure if the compiler is of the correct class.

Parameters

string $compilerClass Compiler class name
Closure $query Closure

Return Value

$this

in Query at line 434
$this with(string $name, array $columns = [], Closure|Query|Subquery $query)

Adds a common table expression.

Parameters

string $name Table name
array $columns Column names
Closure|Query|Subquery $query Query

Return Value

$this

in Query at line 459
$this withRecursive(string $name, array $columns = [], Closure|Query|Subquery $query)

Adds a recursive common table expression.

Parameters

string $name Table name
array $columns Column names
Closure|Query|Subquery $query Query

Return Value

$this

in Query at line 473
protected $this setOperation(Closure|Query|Subquery|null $query = null, string $operation)

Adds a set operation.

Parameters

Closure|Query|Subquery|null $query Query
string $operation Operation

Return Value

$this

in Query at line 510
$this union(Closure|Query|Subquery|null $query = null)

Adds a UNION operation.

Parameters

Closure|Query|Subquery|null $query Query

Return Value

$this

in Query at line 521
$this unionAll(Closure|Query|Subquery|null $query = null)

Adds a UNION ALL operation.

Parameters

Closure|Query|Subquery|null $query Query

Return Value

$this

in Query at line 532
$this intersect(Closure|Query|Subquery|null $query = null)

Adds a INTERSECT operation.

Parameters

Closure|Query|Subquery|null $query Query

Return Value

$this

in Query at line 543
$this intersectAll(Closure|Query|Subquery|null $query = null)

Adds a INTERSECT ALL operation.

Parameters

Closure|Query|Subquery|null $query Query

Return Value

$this

in Query at line 554
$this except(Closure|Query|Subquery|null $query = null)

Adds a EXCEPT operation.

Parameters

Closure|Query|Subquery|null $query Query

Return Value

$this

in Query at line 565
$this exceptAll(Closure|Query|Subquery|null $query = null)

Adds a EXCEPT ALL operation.

Parameters

Closure|Query|Subquery|null $query Query

Return Value

$this

in Query at line 576
$this table(string|array|Closure|Subquery|Raw|null $table)

Sets table we want to query.

Parameters

string|array|Closure|Subquery|Raw|null $table Database table or subquery

Return Value

$this

in Query at line 594
$this from(string|array|Closure|Subquery|Raw|null $table)

Alias of Query::table().

Parameters

string|array|Closure|Subquery|Raw|null $table Database table or subquery

Return Value

$this

in Query at line 605
$this into(string|array|Closure|Subquery|Raw|null $table)

Alias of Query::table().

Parameters

string|array|Closure|Subquery|Raw|null $table Database table or subquery

Return Value

$this

in Query at line 616
$this select(array $columns)

Sets the columns we want to select.

Parameters

array $columns Array of columns we want to select from

Return Value

$this

in Query at line 629
$this selectRaw(string $sql)

Sets the columns we want to select using raw SQL.

Parameters

string $sql Raw sql

Return Value

$this

in Query at line 641
$this distinct()

Select distinct?

Return Value

$this

in Query at line 657
$this where(string|array|Closure $column, string|null $operator = null, mixed $value = null, string $separator = 'AND')

Adds a WHERE clause.

Parameters

string|array|Closure $column Column name, an array of column names or closure
string|null $operator Operator
mixed $value Value
string $separator Clause separator

Return Value

$this

in Query at line 696
$this whereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null, string $separator = 'AND')

Adds a raw WHERE clause.

Parameters

string|array $column Column name, an array of column names or raw SQL
string|array|null $operator Operator or parameters
string|null $raw Raw SQL
string $separator Clause separator

Return Value

$this

in Query at line 721
$this orWhere(string|array|Closure $column, string|null $operator = null, mixed $value = null)

Adds a OR WHERE clause.

Parameters

string|array|Closure $column Column name, an array of column names or closure
string|null $operator Operator
mixed $value Value

Return Value

$this

in Query at line 734
$this orWhereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null)

Adds a raw OR WHERE clause.

Parameters

string|array $column Column name, and array of column names or raw SQL
string|array|null $operator Operator or parameters
string|null $raw Raw SQL

Return Value

$this

in Query at line 748
$this whereDate(string $column, string $operator, string|DateTimeInterface $date, string $separator = 'AND')

Adds a date comparison clause.

Parameters

string $column Column name
string $operator Operator
string|DateTimeInterface $date Date
string $separator Separator

Return Value

$this

in Query at line 771
$this orWhereDate(string $column, string $operator, string|DateTimeInterface $date)

Adds a date comparison clause.

Parameters

string $column Column name
string $operator Operator
string|DateTimeInterface $date Date

Return Value

$this

in Query at line 785
$this whereColumn(string|array $column1, string $operator, string|array $column2, string $separator = 'AND')

Adds a column comparison clause.

Parameters

string|array $column1 Column name of array of column names
string $operator Operator
string|array $column2 Column name of array of column names
string $separator Separator

Return Value

$this

in Query at line 807
$this orWhereColumn(string|array $column1, string $operator, string|array $column2)

Adds a column comparison clause.

Parameters

string|array $column1 Column name of array of column names
string $operator Operator
string|array $column2 Column name of array of column names

Return Value

$this

in Query at line 822
$this between(mixed $column, mixed $value1, mixed $value2, string $separator = 'AND', bool $not = false)

Adds a BETWEEN clause.

Parameters

mixed $column Column name
mixed $value1 First value
mixed $value2 Second value
string $separator Clause separator
bool $not Not between?

Return Value

$this

in Query at line 845
$this orBetween(mixed $column, mixed $value1, mixed $value2)

Adds a OR BETWEEN clause.

Parameters

mixed $column Column name
mixed $value1 First value
mixed $value2 Second value

Return Value

$this

in Query at line 858
$this notBetween(mixed $column, mixed $value1, mixed $value2)

Adds a NOT BETWEEN clause.

Parameters

mixed $column Column name
mixed $value1 First value
mixed $value2 Second value

Return Value

$this

in Query at line 871
$this orNotBetween(mixed $column, mixed $value1, mixed $value2)

Adds a OR NOT BETWEEN clause.

Parameters

mixed $column Column name
mixed $value1 First value
mixed $value2 Second value

Return Value

$this

in Query at line 886
$this betweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2, string $separator = 'AND', bool $not = false)

Adds a date range clause.

Parameters

string $column Column name
string|DateTimeInterface $date1 First date
string|DateTimeInterface $date2 Second date
string $separator Separator
bool $not Not between?

Return Value

$this

in Query at line 908
orBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

Parameters

string $column Column name
string|DateTimeInterface $date1 First date
string|DateTimeInterface $date2 Second date

in Query at line 920
notBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

Parameters

string $column Column name
string|DateTimeInterface $date1 First date
string|DateTimeInterface $date2 Second date

in Query at line 932
orNotBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

Parameters

string $column Column name
string|DateTimeInterface $date1 First date
string|DateTimeInterface $date2 Second date

in Query at line 946
$this in(mixed $column, array|Raw|Closure|Subquery $values, string $separator = 'AND', bool $not = false)

Adds a IN clause.

Parameters

mixed $column Column name
array|Raw|Closure|Subquery $values Array of values or Subquery
string $separator Clause separator
bool $not Not in?

Return Value

$this

in Query at line 976
$this orIn(mixed $column, array|Raw|Closure|Subquery $values)

Adds a OR IN clause.

Parameters

mixed $column Column name
array|Raw|Closure|Subquery $values Array of values or Subquery

Return Value

$this

in Query at line 988
$this notIn(mixed $column, array|Raw|Closure|Subquery $values)

Adds a NOT IN clause.

Parameters

mixed $column Column name
array|Raw|Closure|Subquery $values Array of values or Subquery

Return Value

$this

in Query at line 1000
$this orNotIn(mixed $column, array|Raw|Closure|Subquery $values)

Adds a OR NOT IN clause.

Parameters

mixed $column Column name
array|Raw|Closure|Subquery $values Array of values or Subquery

Return Value

$this

in Query at line 1013
$this isNull(mixed $column, string $separator = 'AND', bool $not = false)

Adds a IS NULL clause.

Parameters

mixed $column Column name
string $separator Clause separator
bool $not Not in?

Return Value

$this

in Query at line 1032
$this orIsNull(mixed $column)

Adds a OR IS NULL clause.

Parameters

mixed $column Column name

Return Value

$this

in Query at line 1043
$this isNotNull(mixed $column)

Adds a IS NOT NULL clause.

Parameters

mixed $column Column name

Return Value

$this

in Query at line 1054
$this orIsNotNull(mixed $column)

Adds a OR IS NOT NULL clause.

Parameters

mixed $column Column name

Return Value

$this

in Query at line 1067
$this exists(Closure|Subquery $query, string $separator = 'AND', bool $not = false)

Adds a EXISTS clause.

Parameters

Closure|Subquery $query Subquery
string $separator Clause separator
bool $not Not exists?

Return Value

$this

in Query at line 1091
$this orExists(Closure|Subquery $query)

Adds a OR EXISTS clause.

Parameters

Closure|Subquery $query Subquery

Return Value

$this

in Query at line 1102
$this notExists(Closure|Subquery $query)

Adds a NOT EXISTS clause.

Parameters

Closure|Subquery $query Subquery

Return Value

$this

in Query at line 1113
$this orNotExists(Closure|Subquery $query)

Adds a OR NOT EXISTS clause.

Parameters

Closure|Subquery $query Subquery

Return Value

$this

in Query at line 81
$this join(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null, string $type = 'INNER', bool $raw = false)

Adds a JOIN clause.

Parameters

string $table Table name
string|Closure $column1 Column name or closure
string $operator Operator
string $column2 Column name
string $type Join type
bool $raw Raw join?

Return Value

$this

in Query at line 1164
$this joinRaw(string $table, string $column1, string $operator, string $raw, string $type = 'INNER')

Adds a raw JOIN clause.

Parameters

string $table Table name
string $column1 Column name or closure
string $operator Operator
string $raw Raw SQL
string $type Join type

Return Value

$this

in Query at line 1178
$this leftJoin(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null)

Adds a LEFT OUTER JOIN clause.

Parameters

string $table Table name
string|Closure $column1 Column name or closure
string $operator Operator
string $column2 Column name

Return Value

$this

in Query at line 1192
$this leftJoinRaw(string $table, string $column1, string $operator, string $raw)

Adds a raw LEFT OUTER JOIN clause.

Parameters

string $table Table name
string $column1 Column name or closure
string $operator Operator
string $raw Raw SQL

Return Value

$this

in Query at line 1203
$this groupBy(string|array $columns)

Adds a GROUP BY clause.

Parameters

string|array $columns Column name or array of column names

Return Value

$this

in Query at line 1219
$this having(string $column, string $operator, mixed $value, string $separator = 'AND')

Adds a HAVING clause.

Parameters

string $column Column name
string $operator Operator
mixed $value Value
string $separator Clause separator

Return Value

$this

in Query at line 1241
$this havingRaw(string $raw, string $operator, mixed $value, string $separator = 'AND')

Adds a raw HAVING clause.

Parameters

string $raw Raw SQL
string $operator Operator
mixed $value Value
string $separator Clause separator

Return Value

$this

in Query at line 1254
$this orHaving(string $column, string $operator, mixed $value)

Adds a OR HAVING clause.

Parameters

string $column Column name
string $operator Operator
mixed $value Value

Return Value

$this

in Query at line 1267
$this orHavingRaw(string $raw, string $operator, mixed $value)

Adds a raw OR HAVING clause.

Parameters

string $raw Raw SQL
string $operator Operator
mixed $value Value

Return Value

$this

in Query at line 1279
$this orderBy(string|array $columns, string $order = 'ASC')

Adds a ORDER BY clause.

Parameters

string|array $columns Column name or array of column names
string $order Sorting order

Return Value

$this

in Query at line 1297
$this orderByRaw(string $raw, string $order = 'ASC')

Adds a raw ORDER BY clause.

Parameters

string $raw Raw SQL
string $order Sorting order

Return Value

$this

in Query at line 1308
$this ascending(string|array $columns)

Adds an ascending ORDER BY clause.

Parameters

string|array $columns Column name or array of column names

Return Value

$this

in Query at line 1319
$this ascendingRaw(string $raw)

Adds a raw ascending ORDER BY clause.

Parameters

string $raw Raw SQL

Return Value

$this

in Query at line 1330
$this descending(string|array $columns)

Adds a descending ORDER BY clause.

Parameters

string|array $columns Column name or array of column names

Return Value

$this

in Query at line 1341
$this descendingRaw(string $raw)

Adds a raw descending ORDER BY clause.

Parameters

string $raw Raw SQL

Return Value

$this

in Query at line 1351
$this clearOrderings()

Clears the ordering clauses.

Return Value

$this

in Query at line 1364
$this limit(int $limit)

Adds a LIMIT clause.

Parameters

int $limit Limit

Return Value

$this

in Query at line 1377
$this offset(int $offset)

Adds a OFFSET clause.

Parameters

int $offset Offset

Return Value

$this

in Query at line 1390
$this lock(bool|string $lock = true)

Enable lock.

Parameters

bool|string $lock TRUE for exclusive, FALSE for shared and string for custom

Return Value

$this

in Query at line 1402
$this sharedLock()

Enable shared lock.

Return Value

$this

in Query at line 1413
$this prefix(string $prefix)

Adds a query prefix.

Parameters

string $prefix Prefix

Return Value

$this

in Query at line 1426
protected mixed fetchFirst(mixed ...$fetchMode)

Executes a SELECT query and returns the first row of the result set.

Parameters

mixed ...$fetchMode Fetch mode

Return Value

mixed

in Relation at line 171
mixed first()

Returns a single record from the database.

Return Value

mixed

in Query at line 419
protected ResultSet createResultSet(array $results)

Creates a result set.

Parameters

array $results Results

Return Value

ResultSet

in Query at line 1461
protected array|ResultSet fetchAll(bool $returnResultSet, mixed ...$fetchMode)

Executes a SELECT query and returns an array containing all of the result set rows.

Parameters

bool $returnResultSet Return result set?
mixed ...$fetchMode Fetch mode

Return Value

array|ResultSet

in Relation at line 183
ResultSet all()

Returns a result set from the database.

Return Value

ResultSet

in Query at line 1486
mixed column(string $column = null)

Executes a SELECT query and returns the value of the chosen column of the first row of the result set.

Parameters

string $column The column to select

Return Value

mixed

in Query at line 1504
array columns(string $column = null)

Executes a SELECT query and returns an array containing the values of the indicated 0-indexed column.

Parameters

string $column The column to select

Return Value

array

in Query at line 1523
array pairs(string $key, string $value)

Executes a SELECT query and returns an array where the first column is used as keys and the second as values.

Parameters

string $key The column to use as keys
string $value The column to use as values

Return Value

array

in Query at line 1538
protected Generator fetchYield(mixed ...$fetchMode)

Executes a SELECT query and returns a generator that lets you iterate over the results.

Parameters

mixed ...$fetchMode Fetch mode

Return Value

Generator

in Query at line 446
Generator yield()

Returns a generator that lets you iterate over the results.

Return Value

Generator

in Query at line 1560
protected int paginationCount()

Returns the number of records that the query will return.

Return Value

int

in Query at line 35
ResultSet paginate($itemsPerPage = null, array $options = [])

Parameters

$itemsPerPage
array $options

Return Value

ResultSet

in Query at line 457
batch(Closure $processor, int $batchSize = 1000, int $offsetStart = 0, int|null $offsetEnd = null)

Fetches data in batches and passes them to the processor closure.

Parameters

Closure $processor Closure that processes the results
int $batchSize Batch size
int $offsetStart Offset start
int|null $offsetEnd Offset end

in Query at line 1648
protected array|void aggregate(string $function, string|array $column)

Sets the selected column of the query to the chosen aggreate.

Executes the query and returns the result if not in subquery context.

Parameters

string $function Aggregate function
string|array $column Column name or array of column names

Return Value

array|void

in Query at line 1666
mixed min(string $column)

Returns the minimum value for the chosen column.

Parameters

string $column Column name

Return Value

mixed

in Query at line 1677
mixed max(string $column)

Returns the maximum value for the chosen column.

Parameters

string $column Column name

Return Value

mixed

in Query at line 1688
mixed sum(string $column)

Returns sum of all the values in the chosen column.

Parameters

string $column Column name

Return Value

mixed

in Query at line 1699
mixed avg(string $column)

Returns the average value for the chosen column.

Parameters

string $column Column name

Return Value

mixed

in Query at line 1710
int count(string $column = '*')

Returns the number of rows.

Parameters

string $column Column name

Return Value

int

in Query at line 1721
int countDistinct(string|array $column)

Returns the number of distinct values of the chosen column.

Parameters

string|array $column Column name or array of column names

Return Value

int

in Query at line 94
bool insert(array $values = [])

Inserts data into the chosen table.

Parameters

array $values Associative array of column values

Return Value

bool

in Query at line 1746
int|bool insertAndGetId(array $values, string $primaryKey = 'id')

Inserts data into the chosen table and returns the auto increment id.

Parameters

array $values Associative array of column values
string $primaryKey Primary key

Return Value

int|bool

in Query at line 122
int update(array $values)

Updates data from the chosen table.

Parameters

array $values Associative array of column values

Return Value

int

in Query at line 150
int increment(string $column, int $increment = 1)

Increments column value.

Parameters

string $column Column name
int $increment Increment value

Return Value

int

in Query at line 172
int decrement(string $column, int $decrement = 1)

Decrements column value.

Parameters

string $column Column name
int $decrement Decrement value

Return Value

int

in Query at line 194
int delete()

Deletes data from the chosen table.

Return Value

int

in Query at line 73
ORM getModel()

Returns the model.

Return Value

ORM

in Query at line 222
ORM get(int|string $id, array $columns = [])

Returns a record using the value of its primary key.

Parameters

int|string $id Primary key
array $columns Columns to select

Return Value

ORM

in Query at line 238
$this including(string|array|bool $includes)

Adds relations to eager load.

Parameters

string|array|bool $includes Relation or array of relations to eager load

Return Value

$this

in Query at line 280
$this excluding(string|array|bool $excludes)

Removes relations to eager load.

Parameters

string|array|bool $excludes Relation or array of relations to exclude from eager loading

Return Value

$this

in Query at line 315
protected ORM hydrateModel(array $result)

Returns a hydrated model.

Parameters

array $result Database result

Return Value

ORM

in Query at line 327
protected array parseIncludes()

Parses includes.

Return Value

array

in Query at line 364
protected loadIncludes(array $results)

Load includes.

Parameters

array $results Loaded records

in Query at line 382
protected array hydrateModelsAndLoadIncludes(mixed $results)

Returns hydrated models.

Parameters

mixed $results Database results

Return Value

array

in Query at line 474
$this scope(string $scope, mixed ...$arguments)

Calls a scope method on the model.

Parameters

string $scope Scope
mixed ...$arguments Arguments

Return Value

$this

in Relation at line 79
protected string getForeignKey()

Returns the foreign key.

Return Value

string

in Relation at line 95
protected array keys(array $results)

Returns the keys used to eagerly load records.

Parameters

array $results Result set

Return Value

array

in Relation at line 110
protected lazyCriterion()

Sets the criterion used when lazy loading related records.

in Relation at line 121
protected $this eagerCriterion(array $keys)

Sets the criterion used when eager loading related records.

Parameters

array $keys Parent keys

Return Value

$this

in Relation at line 136
protected ResultSet eagerLoadChunked(array $keys)

Eager loads records in chunks.

Parameters

array $keys Parent keys

Return Value

ResultSet

in Relation at line 158
protected adjustQuery()

Adjusts the query.

in HasOneOrMany at line 23
ORM create(ORM|array $related)

Creates a related record.

Parameters

ORM|array $related Related record

Return Value

ORM

at line 27
eagerLoad(array $results, string $relation, Closure|null $criteria, array $includes)

Eager loads related records and matches them with their parent records.

Parameters

array $results &$results Parent records
string $relation Relation name
Closure|null $criteria Relation criteria
array $includes Includes passed from the parent record

at line 56
ResultSet getRelated()

Returns a related result set from the database.

Return Value

ResultSet