Spec-Zone.ru › Laravel 5.3

HasManyThrough

class HasManyThrough extends Relation (View source)

Свойства

protected Builder $query Экземпляр билдера запросов Eloquent. из Relation
protected Model $parent Экземпляр родительской модели. из Relation
protected Model $related Экземпляр связанной модели. из Relation
static protected bool $constraints Указывает, добавляет ли отношение ограничения. из Relation
static protected array $morphMap Массив для сопоставления имён классов с их именами morph в базе данных. из Relation
protected Model $farParent Экземпляр родительской модели на удалённом уровне.
protected string $firstKey Ближайший ключ в отношении.
protected string $secondKey Отдалённый ключ в отношении.
protected string $localKey Локальный ключ в отношении.

Методы

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

Создать новый экземпляр связи many-to-many через промежуточную таблицу.

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

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

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

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

from Relation
Builder getRelationCountQuery(Builder $query, Builder $parent)

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

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

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

static mixed noConstraints(Closure $callback)

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

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

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

from Relation
Builder getQuery()

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

from Relation
Builder getBaseQuery()

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

from Relation
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

from Relation
Model getRelated()

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

from Relation
string createdAt()

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

from Relation
string updatedAt()

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

from Relation
string relatedUpdatedAt()

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

from Relation
string wrap(string $value)

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

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

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

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

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

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

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

from Relation
void __clone()

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

from Relation
void setJoin(Builder $query = null)

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

bool parentSoftDeletes()

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

array buildDictionary(Collection $results)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

строка getHasCompareKey()

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

строка getForeignKey()

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

строка getThroughKey()

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

Подробное описание

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

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

Параметры

Builder $query
Model $farParent
Model $parent
строка $firstKey
строка $secondKey
строка $localKey

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

void

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

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

Параметры

массив $models

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

void

массив initRelation(array $models, string $relation)

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

Параметры

массив $models
строка $relation

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

массив

массив match(array $models, Коллекция $results, string $relation)

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

Параметры

массив $models
Коллекция $results
строка $relation

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

массив

mixed getResults()

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

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

mixed

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

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

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

Коллекция

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

массив $attributes

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

int

Builder getRelationCountQuery(Builder $query, Builder $parent)

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

Параметры

Builder $query
Builder $parent

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

Builder

Builder getRelationQuery(Builder $query, Builder $parent, array|mixed $columns = ['*'])

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

Параметры

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

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

Builder

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed
END_OF_DOCUMENT_MARKER

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

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

Параметры

массив $models
строка $key

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

массив

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Модель getParent()

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

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

Модель

строка getQualifiedParentKeyName()

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

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

строка

Модель getRelated()

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

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

Модель

строка createdAt()

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

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

строка

строка updatedAt()

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

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

строка

строка relatedUpdatedAt()

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

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

строка

строка wrap(string $value)

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

Параметры

строка $value

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

строка

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

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

Параметры

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

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

массив

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

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

Параметры

массив $models

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

массив|null

смешанное __call(string $method, array $parameters)

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

Параметры

строка $method
массив $parameters

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

смешанное

пусто __clone()

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

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

пусто

protected пусто setJoin(Builder $query = null)

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

Параметры

Builder $query

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

пусто

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

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

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

логическое

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

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

Параметры

Коллекция $results

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

массив

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

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

Параметры

массив $columns

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

смешанное

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

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

Параметры

массив $columns

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

Модель|HasManyThrough

Исключения

ModelNotFoundException

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

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

Параметры

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

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

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

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

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

Параметры

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

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

Коллекция

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

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

Параметры

mixed $id
array $columns

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

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

Исключения

ModelNotFoundException

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $attributes
array $values

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

Модель

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

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

Параметры

array $columns

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

Коллекция

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

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

Параметры

array $columns

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

array

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

string getHasCompareKey()

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

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

string

string getForeignKey()

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

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

string

string getThroughKey()

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

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

string

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

Spec-Zone.ru

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