Spec-Zone.ru › Laravel 6

HasOneThrough

class HasOneThrough extends HasManyThrough (View source)

Свойства

SupportsDefaultModels
ForwardsCalls
Macroable

Свойства

static protected array $macros

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

from Macroable
protected Builder $query

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

from Relation
protected Model $parent

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

from Relation
protected Model $related

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

from Relation
static protected bool $constraints

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

from Relation
static array $morphMap

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

from Relation
protected Model $throughParent

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

from HasManyThrough
protected Model $farParent

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

from HasManyThrough
protected string $firstKey

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

from HasManyThrough
protected string $secondKey

Удаленный ключ в отношении.

from HasManyThrough
protected string $localKey

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

from HasManyThrough
protected string $secondLocalKey

Локальный ключ в модели-посреднике.

from HasManyThrough
static protected int $selfJoinCount

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

from HasManyThrough
protected Closure|array|bool $withDefault

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

from SupportsDefaultModels

Методы

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

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

из ForwardsCalls
static void throwBadMethodCallException(string $method)

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

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

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

из Macroable
static void mixin(object $mixin, bool $replace = true)

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

из Macroable
static bool hasMacro(string $name)

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

из Macroable
static mixed __callStatic(string $method, array $parameters)

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

из Macroable
mixed __call(string $method, array $parameters)

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

из Macroable
void __construct(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey)

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

из HasManyThrough
static mixed noConstraints(Closure $callback)

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

из Relation
void addConstraints()

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

из HasManyThrough
void addEagerConstraints(array $models)

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

из HasManyThrough
array initRelation(array $models, string $relation)

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

array match(array $models, Collection $results, string $relation)

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

mixed getResults()

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

Collection getEager()

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

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

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

из HasManyThrough
void touch()

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

из Relation
int rawUpdate(array $attributes = [])

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

из Relation
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

из HasManyThrough
array getKeys(array $models, string $key = null)

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

из Relation
Builder getQuery()

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

из Relation
Builder getBaseQuery()

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

из Relation
Model getParent()

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

из Relation
string getQualifiedParentKeyName()

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

из HasManyThrough
Model getRelated()

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

из Relation
string createdAt()

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

из Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

из 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
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(mixed $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)

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

Параметры

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)

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

Collection getEager()

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

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

Collection

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

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

Параметры

array $columns

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

Collection

void touch()

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

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

void

int rawUpdate(array $attributes = [])

Выполнить операции rawUpdate над базовым запросом.

Параметры

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

Model getParent()

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

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

Model

string getQualifiedParentKeyName()

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

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

string

Model getRelated()

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

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

Model

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected string whereInMethod(Model $model, string $key)

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

Параметры

Model $model
string $key

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

string

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

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

Параметры

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

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

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

bool

protected array buildDictionary(Collection $results)

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

Параметры

Collection $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

Исключения

ИсключениеNotFoundModel

Модель|Коллекция|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|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int $page = null)

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

Параметры

int|null $perPage
array $columns
string $pageName
int $page

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

LengthAwarePaginator

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

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

Параметры

int|null $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

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

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

Параметры

int $count
callable $callback
string|null $column
string|null $alias

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

bool

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

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

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

Генератор

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

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

Параметры

callable $callback
int $count

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

bool

protected Билдер prepareQueryBuilder(array $columns = ['*'])

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

Параметры

array $columns

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

Билдер

Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])

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

Параметры

Билдер $query
Билдер $parentQuery
array|mixed $columns

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

Билдер

Билдер getRelationExistenceQueryForThroughSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])

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

Параметры

Билдер $query
Билдер $parentQuery
array|mixed $columns

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

Билдер

string getRelationCountHash()

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

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

string

string getQualifiedFarKeyName()

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

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

string

string getFirstKeyName()

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

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

string

string getQualifiedFirstKeyName()

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

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

string

string getForeignKeyName()

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

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

string

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/6.x/Illuminate/Database/Eloquent/Relations/HasOneThrough.html

Spec-Zone.ru

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