QueriesRelationships
trait QueriesRelationships (View source)
Methods
Add a relationship count / exists condition to the query with an "or".
Add a relationship count / exists condition to the query.
Add a relationship count / exists condition to the query with an "or".
Add a relationship count / exists condition to the query with where clauses and an "or".
Add a relationship count / exists condition to the query with where clauses.
Add a relationship count / exists condition to the query with where clauses and an "or".
Get the BelongsTo relationship for a single polymorphic type.
Add a polymorphic relationship count / exists condition to the query with an "or".
Add a polymorphic relationship count / exists condition to the query.
Add a polymorphic relationship count / exists condition to the query with an "or".
Add a polymorphic relationship count / exists condition to the query with where clauses.
Add a polymorphic relationship count / exists condition to the query with where clauses and an "or".
Add a polymorphic relationship count / exists condition to the query with where clauses.
Add a polymorphic relationship count / exists condition to the query with where clauses and an "or".
Add subselect queries to count the relations.
Add the "has" condition where clause to the query.
Merge the where constraints from another query to the current query.
Add a sub-query count clause to this query.
Get the "has relation" base query instance.
Check if we can run an "exists" query to optimize performance.
Details
Builder|QueriesRelationships
has(Relation|string $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)
Add a relationship count / exists condition to the query.
protected Builder|QueriesRelationships
hasNested(string $relations, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Add nested relationship count / exists conditions to the query.
Sets up recursive call to whereHas until we finish the nested relation.
Builder|QueriesRelationships
orHas(string $relation, string $operator = '>=', int $count = 1)
Add a relationship count / exists condition to the query with an "or".
Builder|QueriesRelationships
doesntHave(string $relation, string $boolean = 'and', Closure $callback = null)
Add a relationship count / exists condition to the query.
Builder|QueriesRelationships
orDoesntHave(string $relation)
Add a relationship count / exists condition to the query with an "or".
Builder|QueriesRelationships
whereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)
Add a relationship count / exists condition to the query with where clauses.
Builder|QueriesRelationships
orWhereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)
Add a relationship count / exists condition to the query with where clauses and an "or".
Builder|QueriesRelationships
whereDoesntHave(string $relation, Closure $callback = null)
Add a relationship count / exists condition to the query with where clauses.
Builder|QueriesRelationships
orWhereDoesntHave(string $relation, Closure $callback = null)
Add a relationship count / exists condition to the query with where clauses and an "or".
Builder|QueriesRelationships
hasMorph(string $relation, string|array $types, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)
Add a polymorphic relationship count / exists condition to the query.
protected BelongsTo
getBelongsToRelation(MorphTo $relation, string $type)
Get the BelongsTo relationship for a single polymorphic type.
Builder|QueriesRelationships
orHasMorph(string $relation, string|array $types, string $operator = '>=', int $count = 1)
Add a polymorphic relationship count / exists condition to the query with an "or".
Builder|QueriesRelationships
doesntHaveMorph(string $relation, string|array $types, string $boolean = 'and', Closure $callback = null)
Add a polymorphic relationship count / exists condition to the query.
Builder|QueriesRelationships
orDoesntHaveMorph(string $relation, string|array $types)
Add a polymorphic relationship count / exists condition to the query with an "or".
Builder|QueriesRelationships
whereHasMorph(string $relation, string|array $types, Closure $callback = null, string $operator = '>=', int $count = 1)
Add a polymorphic relationship count / exists condition to the query with where clauses.
Builder|QueriesRelationships
orWhereHasMorph(string $relation, string|array $types, Closure $callback = null, string $operator = '>=', int $count = 1)
Add a polymorphic relationship count / exists condition to the query with where clauses and an "or".
Builder|QueriesRelationships
whereDoesntHaveMorph(string $relation, string|array $types, Closure $callback = null)
Add a polymorphic relationship count / exists condition to the query with where clauses.
Builder|QueriesRelationships
orWhereDoesntHaveMorph(string $relation, string|array $types, Closure $callback = null)
Add a polymorphic relationship count / exists condition to the query with where clauses and an "or".
$this
withCount(mixed $relations)
Add subselect queries to count the relations.
protected Builder|QueriesRelationships
addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Add the "has" condition where clause to the query.
Builder|QueriesRelationships
mergeConstraintsFrom(Builder $from)
Merge the where constraints from another query to the current query.
protected $this
addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Add a sub-query count clause to this query.
protected Relation
getRelationWithoutConstraints(string $relation)
Get the "has relation" base query instance.
protected bool
canUseExistsForExistenceCheck(string $operator, int $count)
Check if we can run an "exists" query to optimize performance.