Spec-Zone.ru › Laravel 6

HasManyThrough

class HasManyThrough extends Связь (Просмотреть исходный код)

Свойства

ForwardsCalls
Macroable

Свойства

static protected array $macros

Зарегистрированные строковые макросы.

из Macroable
protected Построитель запроса $query

Экземпляр построителя запросов Eloquent.

из Связь
protected Модель $parent

Экземпляр родительской модели.

из Связь
protected Модель $related

Экземпляр связанной модели.

из Связь
static protected bool $constraints

Указывает, добавляет ли отношение ограничения.

из Связь
static array $morphMap

Массив для сопоставления имен классов с их именами морф в базе данных.

из Связь
protected Модель $throughParent

Экземпляр родительской модели "через".

protected Модель $farParent

Экземпляр удалённой родительской модели.

protected string $firstKey

Ближайший ключ в отношении.

protected string $secondKey

Удаленный ключ в отношении.

protected string $localKey

Локальный ключ в отношении.

protected string $secondLocalKey

Локальный ключ в промежуточной модели.

static protected int $selfJoinCount

Количество самосоединений.

Методы

mixed forwardCallTo(mixed $object, string $method, array $parameters)

Перенаправить вызов метода заданному объекту.

из ForwardsCalls
static void throwBadMethodCallException(string $method)

Выбросить исключение о неверном вызове метода для данного метода.

из ForwardsCalls
static void macro(string $name, object|callable $macro)

Зарегистрировать пользовательское макро.

из Macroable
static void mixin(object $mixin, bool $replace = true)

Смешать другой объект в класс.

из Macroable
static bool hasMacro(string $name)

Проверяет, зарегистрировано ли макро.

из Macroable
static mixed __callStatic(string $method, array $parameters)

Динамически обработать вызовы класса.

из Macroable
mixed __call(string $method, array $parameters)

Динамически обработать вызовы класса.

из Macroable
void __construct(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey)

Создать новый экземпляр связи "многие ко многим через".

static mixed noConstraints(Closure $callback)

Выполнить обратный вызов без ограничений в отношении.

из Relation
void addConstraints()

Установить базовые ограничения в запросе отношения.

void addEagerConstraints(array $models)

Установить ограничения для ленизой загрузки отношения.

array initRelation(array $models, string $relation)

Инициализировать отношение для набора моделей.

array match(array $models, Collection $results, string $relation)

Сопоставить загруженные результаты с их родителями.

mixed getResults()

Получить результаты отношения.

Collection getEager()

Получить отношение для ленизой загрузки.

из Relation
Collection get(array $columns = ['*'])

Выполнить запрос как операцию "select".

void touch()

Обновить метку времени для всех связанных моделей отношения.

из Relation
int rawUpdate(array $attributes = [])

Выполнить сырое обновление базового запроса.

из Relation
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

Добавить ограничения для запроса подсчёта отношения.

из Relation
Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для запроса отношения.

array getKeys(array $models, string $key = null)

Получить все первичные ключи для массива моделей.

из Relation
Builder getQuery()

Получить основной запрос для отношения.

из Relation
Builder getBaseQuery()

Получить основной объект построения запроса, используемый Eloquent builder.

из Relation
Model getParent()

Получить родительскую модель отношения.

из Relation
string getQualifiedParentKeyName()

Получить полностью квалифицированное имя родительского ключа.

Model getRelated()

Получить связанную модель отношения.

из Relation
string createdAt()

Получить имя колонки "created at".

из Relation
string updatedAt()

Получить имя колонки "updated at".

из Relation
string relatedUpdatedAt()

Получить имя колонки "updated at" связанной модели.

из Relation
string whereInMethod(Model $model, string $key)

Получить имя метода "where in" для ленизой загрузки.

из Relation
static array morphMap(array $map = null, bool $merge = true)

Установить или получить морф-карту для полиморфных отношений.

из Relation
статический массив|null buildMorphMapFromModels(массив $models = null)

Создаёт массив с ключами-таблицами из имён классов моделей.

из Relation
статический строка|null getMorphedModel(строка $alias)

Получить модель, связанную с пользовательским полиморфным типом.

из Relation
void __clone()

Принудительно клонировать базовый билдер запросов при клонировании.

из Relation
void performJoin(Builder $query = null)

Установить условие объединения в запросе.

bool throughParentSoftDeletes()

Определить, использует ли родительская модель «через» мягкие удаления.

массив buildDictionary(Collection $results)

Создать словарь моделей с ключами, основанными на внешнем ключе связи.

Model firstOrNew(массив $attributes)

Получить первую связанную модель, соответствующую атрибутам, или создать новую.

Model updateOrCreate(массив $attributes, массив $values = [])

Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.

Model|HasManyThrough firstWhere(Closure|строка|массив $column, смешанный $operator = null, смешанный $value = null, строка $boolean = 'and')

Добавить базовое условие where к запросу и вернуть первый результат.

смешанный first(массив $columns = ['*'])

Выполнить запрос и получить первую связанную модель.

Model|HasManyThrough firstOrFail(массив $columns = ['*'])

Выполнить запрос и получить первый результат, либо бросить исключение.

Model|Collection|null find(смешанный $id, массив $columns = ['*'])

Найти связанную модель по её первичному ключу.

Collection findMany(смешанный $ids, массив $columns = ['*'])

Найти несколько связанных моделей по их первичным ключам.

Model|Collection findOrFail(смешанный $id, массив $columns = ['*'])

Найти связанную модель по её первичному ключу или бросить исключение.

LengthAwarePaginator paginate(целое|null $perPage = null, массив $columns = ['*'], строка $pageName = 'page', целое $page = null)

Получить пагинатор для оператора «select».

Paginator simplePaginate(целое|null $perPage = null, массив $columns = ['*'], строка $pageName = 'page', целое|null $page = null)

Выполнить пагинацию заданного запроса в простой пагинатор.

массив shouldSelect(массив $columns = ['*'])

Установить оператор «select» для запроса связи.

bool chunk(целое $count, вызов $callback)

Разбить результаты запроса на части.

bool chunkById(целое $count, вызов $callback, строка|null $column = null, строка|null $alias = null)

Разбить результаты запроса на части по сравнению числовых идентификаторов.

Generator cursor()

Получить генератор для заданного запроса.

bool each(вызов $callback, целое $count = 1000)

Выполнить обратный вызов для каждого элемента с разбивкой на части.

Builder prepareQueryBuilder(массив $columns = ['*'])

Подготовить билдер запросов для выполнения запроса.

Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, массив|смешанный $columns = ['*'])

Добавить ограничения для запроса связи на той же таблице.

Builder getRelationExistenceQueryForThroughSelfRelation(Builder $query, Builder $parentQuery, массив|смешанный $columns = ['*'])

Добавить ограничения для запроса связи на той же таблице, что и родительская модель «через».

строка getRelationCountHash()

Получить хеш таблицы объединения связи.

строка getQualifiedFarKeyName()

Получить квалифицированный внешний ключ связанной модели.

строка getFirstKeyName()

Получить внешний ключ модели «через».

строка getQualifiedFirstKeyName()

Получить квалифицированный внешний ключ модели «через».

строка getForeignKeyName()

Получить внешний ключ связанной модели.

строка getQualifiedForeignKeyName()

Получить квалифицированный внешний ключ связанной модели.

строка getLocalKeyName()

Получить локальный ключ родительской модели «далеко».

строка getQualifiedLocalKeyName()

Получить квалифицированный локальный ключ родительской модели «далеко».

строка getSecondLocalKeyName()

Получить локальный ключ промежуточной модели.

Details

protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)

Перенаправить вызов метода заданному объекту.

Parameters

смешанный $object
строка $method
массив $parameters

Return Value

смешанный

Exceptions

BadMethodCallException
END_OF_DOCUMENT_MARKER

static protected void throwBadMethodCallException(string $method)

Выбросить исключение вызова недопустимого метода для данного метода.

Parameters

string $method

Return Value

void

Exceptions

BadMethodCallException

static void macro(string $name, object|callable $macro)

Зарегистрировать пользовательский макрос.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Добавить другой объект в класс.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Проверяет, зарегистрирован ли макрос.

Parameters

string $name

Return Value

bool

static mixed __callStatic(string $method, array $parameters)

Динамически обрабатывает вызовы класса.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Динамически обрабатывает вызовы класса.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

void __construct(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey)

Создать новый экземпляр связи «многие ко многим через».

Parameters

Builder $query
Model $farParent
Model $throughParent
string $firstKey
string $secondKey
string $localKey
string $secondLocalKey

Return Value

void

static mixed noConstraints(Closure $callback)

Выполнить обратный вызов без ограничений для связи.

Parameters

Closure $callback

Return Value

mixed

void addConstraints()

Установить базовые ограничения для запроса к связи.

Return Value

void

void addEagerConstraints(array $models)

Установить ограничения для отложенной загрузки связи.

Parameters

array $models

Return Value

void

array initRelation(array $models, string $relation)

Инициализировать связь для набора моделей.

Parameters

array $models
string $relation

Return Value

array

array match(array $models, Collection $results, string $relation)

Сопоставить загруженные результаты с их родительскими элементами.

Parameters

array $models
Collection $results
string $relation

Return Value

array

mixed getResults()

Получить результаты связи.

Return Value

mixed

Collection getEager()

Получить связь для отложенной загрузки.

Return Value

Collection

Collection get(array $columns = ['*'])

Выполнить запрос как операцию «выбор».

Parameters

array $columns

Return Value

Collection

void touch()

Обновить все связанные модели для связи.

Return Value

void

int rawUpdate(array $attributes = [])

Выполнить сырое обновление для базового запроса.

Parameters

array $attributes

Return Value

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

Добавить ограничения для запроса подсчета существования связи.

Parameters

Builder $query
Builder $parentQuery

Return Value

Builder
END_OF_DOCUMENT_MARKER

Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для запроса отношения.

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

Возвращаемое значение

Builder

protected array getKeys(array $models, string $key = null)

Получить все первичные ключи для массива моделей.

Параметры

array $models
string $key

Возвращаемое значение

array

Builder getQuery()

Получить базовый запрос для отношения.

Возвращаемое значение

Builder

Builder getBaseQuery()

Получить базовый билдер запроса, управляющий билдером Eloquent.

Возвращаемое значение

Builder

Модель getParent()

Получить родительскую модель отношения.

Возвращаемое значение

Модель

string getQualifiedParentKeyName()

Получить полностью квалифицированное имя родительского ключа.

Возвращаемое значение

string

Модель getRelated()

Получить связанную модель отношения.

Возвращаемое значение

Модель

string createdAt()

Получить имя столбца "created at".

Возвращаемое значение

string

string updatedAt()

Получить имя столбца "updated at".

Возвращаемое значение

string

string relatedUpdatedAt()

Получить имя столбца "updated at" связанной модели.

Возвращаемое значение

string

protected string whereInMethod(Модель $model, string $key)

Получить имя метода "where in" для ленивой загрузки.

Параметры

Модель $model
string $key

Возвращаемое значение

string

static array morphMap(array $map = null, bool $merge = true)

Установить или получить карту морфирования для полиморфных отношений.

Параметры

array $map
bool $merge

Возвращаемое значение

array

static protected array|null buildMorphMapFromModels(array $models = null)

Создает таблично-ключевой массив из имен классов моделей.

Параметры

array $models

Возвращаемое значение

array|null

static string|null getMorphedModel(string $alias)

Получить модель, связанную с пользовательским полиморфным типом.

Параметры

string $alias

Возвращаемое значение

string|null

void __clone()

Принудительно клонировать базовый билдер запроса при клонировании.

Возвращаемое значение

void

protected void performJoin(Builder $query = null)

Установить условие объединения в запросе.

Параметры

Builder $query

Возвращаемое значение

void

bool throughParentSoftDeletes()

Определить, использует ли родительский элемент "через" отношения мягкие удаления.

Возвращаемое значение

bool

protected array buildDictionary(Collection $results)

Создать словарь модели, индексированный по внешнему ключу отношения.

Параметры

Collection $results

Возвращаемое значение

array

Модель firstOrNew(array $attributes)

Получить первую связанную запись модели, соответствующую атрибутам, или создать ее.

Параметры

array $attributes

Возвращаемое значение

Модель

Модель updateOrCreate(array $attributes, array $values = [])

Создать или обновить связанную запись, соответствующую атрибутам, и заполнить ее значениями.

Параметры

array $attributes
array $values

Возвращаемое значение

Модель

Модель|HasManyThrough firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')

Добавить базовое условие where в запрос и вернуть первый результат.

Параметры

Closure|string|array $column
mixed $operator
mixed $value
string $boolean

Возвращаемое значение

Модель|HasManyThrough

mixed first(array $columns = ['*'])

Выполнить запрос и получить первую связанную модель.

Параметры

array $columns

Возвращаемое значение

mixed

Модель|HasManyThrough firstOrFail(array $columns = ['*'])

Выполнить запрос и получить первый результат или бросить исключение.

Параметры

array $columns

Возвращаемое значение

Модель|HasManyThrough

Исключения

ModelNotFoundException

Модель|Коллекция|null find(mixed $id, array $columns = ['*'])

Найти связанную модель по её первичному ключу.

Параметры

mixed $id
array $columns

Возвращаемое значение

Модель|Коллекция|null

Коллекция findMany(mixed $ids, array $columns = ['*'])

Найти несколько связанных моделей по их первичным ключам.

Параметры

mixed $ids
array $columns

Возвращаемое значение

Коллекция

Модель|Коллекция findOrFail(mixed $id, array $columns = ['*'])

Найти связанную модель по её первичному ключу или бросить исключение.

Параметры

mixed $id
array $columns

Возвращаемое значение

Модель|Коллекция

Исключения

ModelNotFoundException

LengthAwarePaginator paginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int $page = null)

Получить пагинатор для запроса «select».

Параметры

int|null $perPage
array $columns
string $pageName
int $page

Возвращаемое значение

LengthAwarePaginator

Paginator simplePaginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Разбить заданный запрос на страницы с помощью простого пагинатора.

Параметры

int|null $perPage
array $columns
string $pageName
int|null $page

Возвращаемое значение

Paginator

protected array shouldSelect(array $columns = ['*'])

Установить предложение select для запроса связи.

Параметры

array $columns

Возвращаемое значение

array

bool chunk(int $count, callable $callback)

Разбить результаты запроса на куски.

Параметры

int $count
callable $callback

Возвращаемое значение

bool

bool chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)

Разбить результаты запроса на куски, сравнивая числовые идентификаторы.

Параметры

int $count
callable $callback
string|null $column
string|null $alias

Возвращаемое значение

bool

Generator cursor()

Получить генератор для заданного запроса.

Возвращаемое значение

Generator

bool each(callable $callback, int $count = 1000)

Выполнить обратный вызов над каждым элементом, разбивая на куски.

Параметры

callable $callback
int $count

Возвращаемое значение

bool

protected Билдер prepareQueryBuilder(array $columns = ['*'])

Подготовить билдер запроса для выполнения.

Параметры

array $columns

Возвращаемое значение

Билдер

Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для запроса отношения на том же столе.

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

Возвращаемое значение

Builder

Builder getRelationExistenceQueryForThroughSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для запроса отношения на том же столе, что и родительский столбец через.

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

Возвращаемое значение

Builder

string getRelationCountHash()

Получить хеш таблицы соединения отношения.

Возвращаемое значение

string

string getQualifiedFarKeyName()

Получить квалифицированное внешнее ключевое поле связанной модели.

Возвращаемое значение

string

string getFirstKeyName()

Получить внешнее ключевое поле модели «через».

Возвращаемое значение

string

string getQualifiedFirstKeyName()

Получить квалифицированное внешнее ключевое поле модели «через».

Возвращаемое значение

string

string getForeignKeyName()

Получить внешнее ключевое поле связанной модели.

Возвращаемое значение

string

string getQualifiedForeignKeyName()

Получить квалифицированное внешнее ключевое поле связанной модели.

Возвращаемое значение

string

string getLocalKeyName()

Получить локальное ключевое поле родительской модели «далеко».

Возвращаемое значение

string

string getQualifiedLocalKeyName()

Получить квалифицированное локальное ключевое поле родительской модели «далеко».

Возвращаемое значение

string

string getSecondLocalKeyName()

Получить локальное ключевое поле промежуточной модели.

Возвращаемое значение

string

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/6.x/Illuminate/Database/Eloquent/Relations/HasManyThrough.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API