Spec-Zone.ru › Laravel 5.8

HasManyThrough

класс HasManyThrough расширяет Relation (View source)

Свойства

ForwardsCalls
Macroable

Свойства

статический защищённый массив $macros Зарегистрированные строковые макросы. из Macroable
защищённый Builder $query Экземпляр Eloquent-запросного билдера. из Relation
защищённый Model $parent Экземпляр родительской модели. из Relation
защищённый Model $related Экземпляр связанной модели. из Relation
статический защищённый bool $constraints Указывает, добавляет ли отношение ограничения. из Relation
статический массив $morphMap Массив для сопоставления имён классов с их именами morph в базе данных. из Relation
защищённый Model $throughParent Экземпляр родительской модели "через".
защищённый Model $farParent Экземпляр дальней родительской модели.
защищённый строка $firstKey Ближайший ключ в отношении.
защищённый строка $secondKey Дальний ключ в отношении.
защищённый строка $localKey Локальный ключ в отношении.
protected string $secondLocalKey Локальный ключ на промежуточной модели.
static protected int $selfJoinCount Количество самосоединений.

Методы

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

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

from ForwardsCalls
static void throwBadMethodCallException(string $method)

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

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

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

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

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

from Macroable
static bool hasMacro(string $name)

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

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

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

from Macroable
mixed __call(string $method, array $parameters)

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

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

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

static mixed noConstraints(Closure $callback)

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

from 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()

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

from Relation
Коллекция get(array $columns = ['*'])

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

void touch()

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

из Связь
int rawUpdate(array $attributes = [])

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

из Связь
Билдер getRelationExistenceCountQuery(Билдер $query, Билдер $parentQuery)

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

из Связь
Билдер getRelationExistenceQuery(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])

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

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

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

из Связь
Builder getQuery()

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

из Relation
Builder getBaseQuery()

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

из Relation
Model getParent()

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

из Relation
string getQualifiedParentKeyName()

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

Model getRelated()

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

из Relation
string createdAt()

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

из Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

from Relation
string whereInMethod(Model $model, string $key)

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

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

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

from Relation
static array|null buildMorphMapFromModels(array $models = null)

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

from Relation
static string|null getMorphedModel(string $alias)

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

from Relation
void __clone()

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

from Relation
void performJoin(Builder $query = null)

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

bool throughParentSoftDeletes()

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

array buildDictionary(Collection $results)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bool chunk(int $count, callable $callback)

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

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

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

Генератор cursor()

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

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

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

Builder prepareQueryBuilder(array $columns = ['*'])

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

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

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

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

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

string getRelationCountHash()

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

string getQualifiedFarKeyName()

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

string getFirstKeyName()

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

string getQualifiedFirstKeyName()

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

string getForeignKeyName()

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

строка getQualifiedForeignKeyName()

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

строка getLocalKeyName()

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

строка getQualifiedLocalKeyName()

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

строка getSecondLocalKeyName()

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

Подробности

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

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

Параметры

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

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

смешанный

Исключения

BadMethodCallException

static protected пусто throwBadMethodCallException(строка $method)

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

Параметры

строка $method

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

пусто

Исключения

BadMethodCallException

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

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

Параметры

string $name
object|callable $macro

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

void

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

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

Параметры

object $mixin
bool $replace

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

void

Исключения

ReflectionException

static bool hasMacro(string $name)

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

Параметры

string $name

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

bool

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

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

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

Создает новый экземпляр отношения has many through.

Параметры

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

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

void

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

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

Параметры

array $models

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

void

array initRelation(array $models, string $relation)

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

mixed getResults()

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

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

mixed

Коллекция getEager()

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

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

Коллекция

Коллекция get(array $columns = ['*'])

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

Параметры

array $columns

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

Коллекция

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

array $attributes

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

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Параметры

Builder $query
Builder $parentQuery

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

Builder

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 $model, string $key)

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

Параметры

Model $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

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

Модель

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

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

Параметры

array $columns

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

mixed

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

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

Параметры

array $columns

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

Модель|HasManyThrough

Исключения

ModelNotFoundException

Model|Коллекция|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 $perPage = null, array $columns = ['*'], string $pageName = 'page', int $page = null)

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

Параметры

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

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

LengthAwarePaginator

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

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

Параметры

int $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 Builder prepareQueryBuilder(array $columns = ['*'])

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

Параметры

массив $columns

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

Builder

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

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

Параметры

Builder $query
Builder $parentQuery
массив|смешанный тип $columns

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

Builder

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getRelationCountHash()

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

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

string

string getQualifiedFarKeyName()

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

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

string

string getFirstKeyName()

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

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

string

string getQualifiedFirstKeyName()

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

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

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/5.8/Illuminate/Database/Eloquent/Relations/HasManyThrough.html

Spec-Zone.ru

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