Связи запросов
признак Связи запросов (Просмотреть исходный код)
Методы
| Builder|QueriesRelationships | has(Relation|string $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчета/существования связи к запросу. | |
| Builder|QueriesRelationships | hasNested(string $relations, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить вложенные условия подсчета/существования связи к запросу. | |
| Builder|QueriesRelationships | orHas(string $relation, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования связи к запросу с "или". | |
| Builder|QueriesRelationships | doesntHave(string $relation, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчета/существования связи к запросу. | |
| Builder|QueriesRelationships | orDoesntHave(string $relation)
Добавить условие подсчета/существования связи к запросу с "или". | |
| Builder|QueriesRelationships | whereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования связи к запросу с where-условиями. | |
| Builder|QueriesRelationships | orWhereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования связи к запросу с where-условиями и "или". | |
| Builder|QueriesRelationships | whereDoesntHave(string $relation, Closure $callback = null)
Добавить условие подсчета/существования связи к запросу с where-условиями. | |
| Builder|QueriesRelationships | orWhereDoesntHave(string $relation, Closure $callback = null)
Добавить условие подсчета/существования связи к запросу с where-условиями и "или". | |
| Builder|QueriesRelationships | hasMorph(string $relation, string|array $types, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчета/существования полиморфной связи к запросу. | |
| BelongsTo | getBelongsToRelation(MorphTo $relation, string $type)
Получить связь BelongsTo для одного полиморфного типа. | |
| Builder|QueriesRelationships | orHasMorph(string $relation, string|array $types, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования полиморфной связи к запросу с "или". | |
| Builder|QueriesRelationships | doesntHaveMorph(string $relation, string|array $types, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчета/существования полиморфной связи к запросу. | |
| Builder|QueriesRelationships | orDoesntHaveMorph(string $relation, string|array $types)
Добавить условие подсчета/существования полиморфной связи к запросу с "или". | |
| Builder|QueriesRelationships | whereHasMorph(string $relation, string|array $types, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования полиморфной связи к запросу с where-условиями. | |
| Builder|QueriesRelationships | orWhereHasMorph(string $relation, string|array $types, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования полиморфной связи к запросу с where-условиями и "или". | |
| Builder|QueriesRelationships | whereDoesntHaveMorph(string $relation, string|array $types, Closure $callback = null)
Добавить условие подсчета/существования полиморфной связи к запросу с where-условиями. | |
| Builder|QueriesRelationships | orWhereDoesntHaveMorph(string $relation, string|array $types, Closure $callback = null)
Добавить условие подсчета/существования полиморфной связи к запросу с where-условиями и "или". | |
| $this | withCount(mixed $relations)
Добавить подзапросы для подсчета связей. | |
| Builder|QueriesRelationships | addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Добавить where-условие "has" к запросу. | |
| Builder|QueriesRelationships | mergeConstraintsFrom(Builder $from)
Объединить where-условия из другого запроса с текущим запросом. |
| $this | addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Добавить условие подзапроса счётчика к этому запросу. | |
| Связь | getRelationWithoutConstraints(string $relation)
Получить экземпляр базового запроса «имеет связь». | |
| bool | canUseExistsForExistenceCheck(string $operator, int $count)
Проверить, можно ли выполнить запрос «существует» для оптимизации производительности. |
Подробности
Builder|QueriesRelationships has(Связь|string $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчёта / существования отношения к запросу.
protected Builder|QueriesRelationships hasNested(string $relations, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить условия подсчёта / существования вложенных отношений к запросу.
Настраивает рекурсивный вызов whereHas, пока не завершим вложенное отношение.
Builder|QueriesRelationships orHas(string $relation, string $operator = '>=', int $count = 1)
Добавить условие подсчёта / существования отношения к запросу с «или».
Builder|QueriesRelationships doesntHave(string $relation, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчёта / существования отношения к запросу.
Builder|QueriesRelationships orDoesntHave(string $relation)
Добавить условие подсчёта / существования отношения к запросу с «или».
Builder|QueriesRelationships whereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта / существования отношения к запросу со условиями where.
Builder|QueriesRelationships orWhereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта / существования отношения к запросу со условиями where и «или».
Builder|QueriesRelationships whereDoesntHave(string $relation, Closure $callback = null)
Добавить условие подсчёта / существования отношения к запросу со условиями where.
Builder|QueriesRelationships orWhereDoesntHave(string $relation, Closure $callback = null)
Добавить условие подсчёта/существования связи в запрос с оператором "или".
Builder|QueriesRelationships hasMorph(string $relation, string|array $types, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчёта/существования полиморфной связи в запрос.
protected BelongsTo getBelongsToRelation(MorphTo $relation, string $type)
Получить отношение BelongsTo для одного полиморфного типа.
Builder|QueriesRelationships orHasMorph(string $relation, string|array $types, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи в запрос с оператором "или".
Builder|QueriesRelationships doesntHaveMorph(string $relation, string|array $types, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчёта/существования полиморфной связи в запрос.
Builder|QueriesRelationships orDoesntHaveMorph(string $relation, string|array $types)
Добавить условие подсчёта/существования полиморфной связи в запрос с оператором "или".
Builder|QueriesRelationships whereHasMorph(string $relation, string|array $types, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи в запрос с условиями where.
Builder|QueriesRelationships orWhereHasMorph(string $relation, string|array $types, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи в запрос с условиями where и оператором "или".
Builder|QueriesRelationships whereDoesntHaveMorph(string $relation, string|array $types, Closure $callback = null)
Добавить условие подсчёта/существования полиморфной связи в запрос с условиями where.
Builder|QueriesRelationships orWhereDoesntHaveMorph(string $relation, string|array $types, Closure $callback = null)
Добавить условие подсчёта/существования полиморфного отношения к запросу с помощью оператора "или".
$this withCount(mixed $relations)
Добавить подзапросы для подсчета отношений.
protected Builder|QueriesRelationships addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Добавить условие "has" к запросу.
Builder|QueriesRelationships mergeConstraintsFrom(Builder $from)
Объединить условия where из другого запроса в текущий запрос.
protected $this addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Добавить условие подсчёта подзапроса в текущий запрос.
protected Relation getRelationWithoutConstraints(string $relation)
Получить экземпляр базового запроса "has relation".
protected bool canUseExistsForExistenceCheck(string $operator, int $count)
Проверить возможность использования запроса "exists" для повышения производительности.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/6.x/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.html