Spec-Zone.ru › Laravel 7

HasOneThrough

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

Трейты

SupportsDefaultModels
ForwardsCalls
Macroable

Свойства

статический защищённый массив $macros

Зарегистрированные строковые макросы.

из Macroable
защищённый Builder $query

Экземпляр билдера запросов Eloquent.

из Relation
защищённый Model $parent

Экземпляр родительской модели.

из Relation
защищённый Model $related

Экземпляр связанной модели.

из Relation
статический защищённый bool $constraints

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

из Relation
статический массив $morphMap

Массив для сопоставления имён классов с их именами морфирования в базе данных.

из Relation
защищённый Model $throughParent

Экземпляр родительской модели "через".

из HasManyThrough
защищённый Model $farParent

Экземпляр далёкой родительской модели.

из HasManyThrough
защищённый строка $firstKey

Ближайший ключ по отношению.

из HasManyThrough
защищённый строка $secondKey

Далёкий ключ по отношению.

из HasManyThrough
защищённый строка $localKey

Локальный ключ по отношению.

из HasManyThrough
защищённый строка $secondLocalKey

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

из HasManyThrough
статический защищённый целое $selfJoinCount

Количество самосоединений.

из HasManyThrough
защищённый Closure|массив|bool $withDefault

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

из SupportsDefaultModels

Методы

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)

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

from HasManyThrough
static mixed noConstraints(Closure $callback)

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

from Relation
void addConstraints()

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

from HasManyThrough
void addEagerConstraints(array $models)

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

from HasManyThrough
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".

from HasManyThrough
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 = ['*'])

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

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

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

from Relation
Builder getQuery()

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

from Relation
Builder getBaseQuery()

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

from Relation
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

from HasManyThrough
Model getRelated()

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

from Relation
string createdAt()

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

from Relation
string updatedAt()

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

from Relation
string relatedUpdatedAt()

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

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

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

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

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

из Relation
static array|null buildMorphMapFromModels(array $models = null)

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

из Relation
static string|null getMorphedModel(string $alias)

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

из Relation
void __clone()

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

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

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

из HasManyThrough
bool throughParentSoftDeletes()

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

из HasManyThrough
$this withTrashedParents()

Указать, что удаленные родительские элементы "через" должны быть включены в запрос.

из HasManyThrough
array buildDictionary(Collection $results)

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

из HasManyThrough
Model firstOrNew(array $attributes)

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

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

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

из HasManyThrough
Model|HasManyThrough firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')

Добавить базовое условие where в запрос и вернуть первый результат.

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

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

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

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

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

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

из HasManyThrough
Collection findMany(Arrayable|array $ids, array $columns = ['*'])

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

из HasManyThrough
Model|Collection findOrFail(mixed $id, array $columns = ['*'])

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

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

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

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

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

из HasManyThrough
array shouldSelect(array $columns = ['*'])

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

из HasManyThrough
bool chunk(int $count, callable $callback)

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

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

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

из HasManyThrough
Generator cursor()

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

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

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

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

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

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

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

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

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

из HasManyThrough
string getRelationCountHash()

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

из HasManyThrough
string getQualifiedFarKeyName()

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

из HasManyThrough
string getFirstKeyName()

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

из HasManyThrough
string getQualifiedFirstKeyName()

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

из HasManyThrough
string getForeignKeyName()

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

из HasManyThrough
string getQualifiedForeignKeyName()

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

из HasManyThrough
string getLocalKeyName()

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

из HasManyThrough
string getQualifiedLocalKeyName()

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

из HasManyThrough
string getSecondLocalKeyName()

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

из HasManyThrough
Model newRelatedInstanceFor(Model $parent)

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

$this withDefault(Closure|array|bool $callback = true)

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

из SupportsDefaultModels
Model|null getDefaultFor(Model $parent)

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

из SupportsDefaultModels

Подробности

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

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

Параметры

mixed $object
string $method
array $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, 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)

Создать новый экземпляр отношения 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 = ['*'])

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

Параметры

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|null $key = null)

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

Параметры

array $models
string|null $key

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

array

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Model getParent()

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

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

Model

string getQualifiedParentKeyName()

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

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

string

Model getRelated()

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

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

Model

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected string whereInMethod(Модель $model, string $key)

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

Параметры

Модель $model
string $key

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

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(Билдер $query = null)

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

Параметры

Билдер $query

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

void

bool throughParentSoftDeletes()

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

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

bool

$this withTrashedParents()

Указать, что в запросе должны быть включены удаленные родительские сущности "через".

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

$this

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

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

Параметры

Коллекция $results

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

array

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $attributes
array $values

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

Модель

Модель|HasManyThrough firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')

Добавить основное условие where в запрос и вернуть первый результат.

Параметры

Closure|string|array $column
mixed $operator
mixed $value
string $boolean

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

Модель|HasManyThrough

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

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

Параметры

array $columns

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

mixed

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

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

Параметры

array $columns

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

Модель|HasManyThrough

Исключения

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

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

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

Параметры

mixed $id
array $columns

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

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

Коллекция findMany(Arrayable|массив $ids, массив $columns = ['*'])

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

Параметры

Arrayable|массив $ids
массив $columns

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

Коллекция

Модель|Коллекция findOrFail(смешанный $id, массив $columns = ['*'])

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

Параметры

смешанный $id
массив $columns

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

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

Исключения

ModelNotFoundException

LengthAwarePaginator paginate(целое|null $perPage = null, массив $columns = ['*'], строка $pageName = 'page', целое $page = null)

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

Параметры

целое|null $perPage
массив $columns
строка $pageName
целое $page

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

LengthAwarePaginator

Paginator simplePaginate(целое|null $perPage = null, массив $columns = ['*'], строка $pageName = 'page', целое|null $page = null)

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

Параметры

целое|null $perPage
массив $columns
строка $pageName
целое|null $page

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

Paginator

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

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

Параметры

массив $columns

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

массив

логическое chunk(целое $count, вызовОбработки $callback)

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

Параметры

целое $count
вызовОбработки $callback

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

логическое

логическое chunkById(целое $count, вызовОбработки $callback, строка|null $column = null, строка|null $alias = null)

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

Параметры

целое $count
вызовОбработки $callback
строка|null $column
строка|null $alias

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

логическое

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

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

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

Генератор

логическое each(вызовОбработки $callback, целое $count = 1000)

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

Параметры

вызовОбработки $callback
целое $count

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

логическое

protected Builder prepareQueryBuilder(массив $columns = ['*'])

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

Параметры

массив $columns

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

Builder

Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, массив|смешанный $columns = ['*'])

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

Параметры

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

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

Builder

Builder getRelationExistenceQueryForThroughSelfRelation(Builder $query, Builder $parentQuery, массив|смешанный $columns = ['*'])

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

Параметры

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

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

Builder

строка getRelationCountHash()

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

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

строка

строка getQualifiedFarKeyName()

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

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

строка

строка getFirstKeyName()

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

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

строка

строка getQualifiedFirstKeyName()

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

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

строка

строка getForeignKeyName()

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

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

строка

string getQualifiedForeignKeyName()

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

Значение возвращаемого значения

string

string getLocalKeyName()

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

Значение возвращаемого значения

string

string getQualifiedLocalKeyName()

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

Значение возвращаемого значения

string

string getSecondLocalKeyName()

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

Значение возвращаемого значения

string

Модель newRelatedInstanceFor(Модель $parent)

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

Параметры

Модель $parent

Значение возвращаемого значения

Модель

$this withDefault(Closure|array|bool $callback = true)

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

Параметры

Closure|array|bool $callback

Значение возвращаемого значения

$this

protected Модель|null getDefaultFor(Модель $parent)

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

Параметры

Модель $parent

Значение возвращаемого значения

Модель|null

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

Spec-Zone.ru

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