Spec-Zone.ru › Laravel 5.5

HasManyThrough

class HasManyThrough extends Relation (View source)

Свойства

Macroable

Свойства

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

Методы

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)

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

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

Модель getRelated()

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

из Отношение
строка createdAt()

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

из Отношение
строка updatedAt()

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

из Отношение
строка relatedUpdatedAt()

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

из Отношение
статический массив morphMap(массив $map = null, bool $merge = true)

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

из Отношение
статический массив|null buildMorphMapFromModels(массив $models = null)

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

из Отношение
статическая строка|null getMorphedModel(строка $alias)

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

из Отношение
void __clone()

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

from Relation
void performJoin(Builder $query = null)

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

bool throughParentSoftDeletes()

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

array buildDictionary(Collection $results)

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

Model firstOrNew(array $attributes)

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

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

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

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

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

Model|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 для запроса к связи.

строка getExistenceCompareKey()

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

строка getQualifiedFarKeyName()

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

строка getQualifiedForeignKeyName()

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

строка getQualifiedFirstKeyName()

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

Подробности

статический void macro(строка $name, объект|вызываемый $macro)

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

Параметры

строка $name
объект|вызываемый $macro

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

void

статический void mixin(объект $mixin)

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

Параметры

объект $mixin

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

void

статический булево hasMacro(строка $name)

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

Параметры

строка $name

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

булево

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

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

Параметры

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

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

смешанный

Исключения

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

Билдер getQuery()

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

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

Билдер

Билдер getBaseQuery()

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

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

Билдер

Модель getParent()

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

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

Модель

строка getQualifiedParentKeyName()

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

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

строка

Модель getRelated()

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

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

Модель

строка createdAt()

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

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

строка

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

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

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

Model firstOrNew(array $attributes)

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

Параметры

array $attributes

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

Model

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

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

Параметры

array $attributes
array $values

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

Модель

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

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

Параметры

array $columns

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

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

Модель|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 $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

string getExistenceCompareKey()

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

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

string

string getQualifiedFarKeyName()

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

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

string

string getQualifiedForeignKeyName()

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

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

string

string getQualifiedFirstKeyName()

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

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

string

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

Spec-Zone.ru

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