Spec-Zone.ru › Laravel 5.2

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 Массив для сопоставления имён классов с их морфными именами в базе данных. из 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 = ['*'])

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

Коллекция 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')

Разбить результаты запроса на страницы с помощью простого пагинатора.

строка getHasCompareKey()

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

строка getForeignKey()

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

строка getThroughKey()

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

Подробности

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

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

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

массив

смешанный тип getResults()

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

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

смешанный тип

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

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

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

Коллекция

void touch()

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

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

void

целое число rawUpdate(array $attributes = [])

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

Параметры

массив $attributes

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

целое число

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 смешанный тип noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

смешанный тип

protected массив getKeys(array $models, string $key = null)

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

Параметры

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

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

массив

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

string wrap(string $value)

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

Параметры

string $value

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

string

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

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

Параметры

array $map
bool $merge

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

array

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

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

Параметры

array $models

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

array|null

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

void __clone()

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

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

void

protected void setJoin(Builder $query = null)

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

Параметры

Builder $query

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

void

bool parentSoftDeletes()

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

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

bool

protected array buildDictionary(Коллекция $results)

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

Параметры

Коллекция $results

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

array

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

Коллекция 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 $perPage
array $columns
string $pageName

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

Paginator

string getHasCompareKey()

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

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

string

string getForeignKey()

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

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

string

string getThroughKey()

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

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

string

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

Spec-Zone.ru

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