Spec-Zone.ru › Laravel 5.8

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)

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

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

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

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

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

из HasManyThrough
array buildDictionary(Collection $results)

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

из HasManyThrough
Model firstOrNew(array $attributes)

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

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

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

из 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 $perPage = null, array $columns = ['*'], string $pageName = 'page', int $page = null)

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

из HasManyThrough
Paginator simplePaginate(int $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
строка getRelationCountHash()

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

из HasManyThrough
строка getQualifiedFarKeyName()

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

из HasManyThrough
строка getFirstKeyName()

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

из HasManyThrough
строка getQualifiedFirstKeyName()

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

из HasManyThrough
строка getForeignKeyName()

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

из HasManyThrough
строка getQualifiedForeignKeyName()

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

из HasManyThrough
строка getLocalKeyName()

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

из HasManyThrough
строка getQualifiedLocalKeyName()

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

из HasManyThrough
строка getSecondLocalKeyName()

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

из HasManyThrough
Модель newRelatedInstanceFor(Модель $parent)

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

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

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

из SupportsDefaultModels
Модель|null getDefaultFor(Модель $parent)

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

из SupportsDefaultModels

Подробности

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

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

Параметры

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

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

mixed

Исключения

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

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

Параметры

строка $method

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

void

Исключения

BadMethodCallException

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

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

Параметры

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

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

void

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

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

Параметры

объект $mixin
bool $replace

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

void

Исключения

ReflectionException

static bool hasMacro(string $name)

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

Параметры

строка $name

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

bool

static mixed __callStatic(string $method, array $parameters)

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

Параметры

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

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

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

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

Параметры

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

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

mixed

Исключения

BadMethodCallException
END_OF_DOCUMENT_MARKER

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

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

Параметры

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 = [])

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

Параметры

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

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

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

bool

protected array buildDictionary(Collection $results)

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

Параметры

Collection $results

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

array

Model firstOrNew(array $attributes)

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

Параметры

array $attributes

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

Model

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

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

Параметры

array $attributes
array $values

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

Model

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

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

Параметры

array $columns

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

mixed

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

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

Параметры

array $columns

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

Model|HasManyThrough

Исключения

ModelNotFoundException

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

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

Параметры

mixed $id
array $columns

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

Model|Collection|null

Collection findMany(mixed $ids, array $columns = ['*'])

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

Параметры

mixed $ids
array $columns

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

Collection

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

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

Параметры

mixed $id
array $columns

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

Model|Collection

Исключения

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

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

Параметры

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

Generator cursor()

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

Значение, возвращаемое функцией

Generator

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

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

Параметры

callable $callback
int $count

Значение, возвращаемое функцией

bool

protected Builder prepareQueryBuilder(array $columns = ['*'])

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

Параметры

array $columns

Значение, возвращаемое функцией

Builder

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

Значение, возвращаемое функцией

Builder

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

Значение, возвращаемое функцией

Builder

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
END_OF_DOCUMENT_MARKER

Модель 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/5.8/Illuminate/Database/Eloquent/Relations/HasOneThrough.html

Spec-Zone.ru

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