Spec-Zone.ru › Laravel 5.7

HasManyThrough

class HasManyThrough extends Relation (View source)

Свойства

ForwardsCalls
Macroable

Свойства

static protected array $macros Зарегистрированные строковые макросы. из Macroable
protected Builder $query Экземпляр Eloquent query builder. из Relation
protected Model $parent Экземпляр родительской модели. из Relation
protected Model $related Экземпляр связанной модели. из Relation
static protected bool $constraints Указывает, добавляет ли отношение ограничения. из Relation
static array $morphMap Массив для сопоставления имён классов с их именами morph в базе данных. из Relation
protected Model $throughParent Экземпляр родительской модели "через".
protected Model $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)

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

from ForwardsCalls
static void throwBadMethodCallException(string $method)

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

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

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

from Macroable
static void mixin(object $mixin)

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

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)

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

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
Collection get(array $columns = ['*'])

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

void touch()

Затронуть все связанные модели для отношения.

from Relation
int rawUpdate(array $attributes = [])

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

from Relation
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

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

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

from Relation
Builder getQuery()

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

from Relation
Builder getBaseQuery()

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

from Relation
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

Model getRelated()

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

from Relation
string createdAt()

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

from Relation
string updatedAt()

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

from Relation
string relatedUpdatedAt()

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

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

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

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

Создает индексированный по таблице массив из имен классов моделей.

from Relation
статический string|null getMorphedModel(string $alias)

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

из Relation
void __clone()

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

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

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

bool throughParentSoftDeletes()

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

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

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

Model firstOrNew(array $attributes)

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

Model updateOrCreate(array $attributes, array $values = [])

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

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

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

Model|HasManyThrough firstOrFail(array $columns = ['*'])

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

Model|Collection|null find(mixed $id, array $columns = ['*'])

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

Collection findMany(mixed $ids, array $columns = ['*'])

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

Model|Collection 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)

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

Generator cursor()

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

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

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

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

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

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

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

строка getRelationCountHash()

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

строка getQualifiedFarKeyName()

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

строка getQualifiedFirstKeyName()

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

строка getQualifiedForeignKeyName()

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

строка getQualifiedLocalKeyName()

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

Подробности

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

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

Параметры

mixed $object
string $method
массив $parameters

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

mixed

Исключения

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

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

Параметры

string $method

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

void

Исключения

BadMethodCallException

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

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

Параметры

string $name
object|callable $macro

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

void

static void mixin(object $mixin)

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

Параметры

object $mixin

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

void

Исключения

ReflectionException

static bool hasMacro(string $name)

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

Параметры

string $name

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

bool
END_OF_DOCUMENT_MARKER

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)

Создать новый экземпляр связи 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

Collection getEager()

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

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

Collection

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

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

Параметры

array $columns

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

Collection

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

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

Значение возврата

Модель

строка getQualifiedParentKeyName()

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

Значение возврата

строка

Модель getRelated()

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

Значение возврата

Модель

строка createdAt()

Получить имя столбца «создано в».

Значение возврата

строка

строка updatedAt()

Получить имя столбца «обновлено в».

Значение возврата

строка

строка relatedUpdatedAt()

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

Значение возврата

строка

static массив morphMap(array $map = null, bool $merge = true)

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

Параметры

массив $map
логическое $merge

Значение возврата

массив

static protected массив|null buildMorphMapFromModels(array $models = null)

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

Параметры

массив $models

Значение возврата

массив|null

static строка|null getMorphedModel(string $alias)

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

Параметры

строка $alias

Значение возврата

строка|null

пусто __clone()

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

Значение возврата

пусто

protected пусто performJoin(Билдер $query = null)

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

Параметры

Билдер $query

Значение возврата

пусто

логическое throughParentSoftDeletes()

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

Значение возврата

логическое

protected массив buildDictionary(Коллекция $results)

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

Параметры

Коллекция $results

Значение возврата

массив

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

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

Параметры

массив $attributes

Значение возврата

Модель

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

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

Параметры

массив $attributes
массив $values

Значение возврата

Модель

смешанное first(array $columns = ['*'])

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

Параметры

массив $columns

Значение возврата

смешанное

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

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

Параметры

массив $columns

Значение возврата

Модель|HasManyThrough

Исключения

ИсключениеНеНайденнойМодели

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

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

Параметры

смешанное $id
массив $columns

Значение возврата

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

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

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

Параметры

смешанное $ids
массив $columns

Значение возврата

Коллекция

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

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

Параметры

смешанное $id
массив $columns

Значение возврата

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

Исключения

ИсключениеНеНайденнойМодели
END_OF_DOCUMENT_MARKER

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

Generator cursor()

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

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

Generator

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

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

Параметры

callable $callback
int $count

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

bool

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

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

Параметры

array $columns

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

Builder

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getRelationCountHash()

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

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

string

string getQualifiedFarKeyName()

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

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

string

string getQualifiedFirstKeyName()

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

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

string

string getQualifiedForeignKeyName()

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

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

string

string getQualifiedLocalKeyName()

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

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

string

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

Spec-Zone.ru

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