Spec-Zone.ru › Laravel 11

Отношение

абстрактный класс Отношение реализует Builder mixin Builder<TRelatedModel> (Просмотреть исходный код)

Трейты

ForwardsCalls
Macroable

Свойства

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

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

из Macroable
защищенный TRelatedModel> $query

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

защищенный TDeclaringModel $parent

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

защищенный TRelatedModel $related

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

защищенный bool $eagerKeysWereEmpty

Указывает, должна ли загруженная с жадностью связь неявно возвращать пустой коллекцию.

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

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

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

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

статический защищенный bool $requireMorphMap

Запрещает отношения морфинг без карты морфинг.

статический защищенный int $selfJoinCount

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

Методы

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

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

from ForwardsCalls
mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

Передать вызов метода заданному объекту, возвращая $this, если переданный вызов вернул себя.

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

Очистить существующие макросы.

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

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

from Macroable
mixed __call(string $method, array $parameters)

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

void __construct(Builder $query, Model $parent)

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

static mixed noConstraints(Closure $callback)

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

void addConstraints()

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

void addEagerConstraints(array $models)

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

TDeclaringModel> initRelation(array $models, string $relation)

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

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

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

TResult getResults()

Получить результаты связи.

TRelatedModel> getEager()

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

TRelatedModel sole(array|string $columns = ['*'])

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

TRelatedModel> get(array $columns = ['*'])

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

void touch()

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

int rawUpdate(array $attributes = [])

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

TRelatedModel> getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

string getRelationCountHash(bool $incrementJoinCount = true)

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

array<int,int|string> getKeys(array $models, string|null $key = null)

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

TRelatedModel> getRelationQuery()

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

TRelatedModel> getQuery()

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

Builder getBaseQuery()

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

Builder toBase()

Получить экземпляр базового билдера запроса.

TDeclaringModel getParent()

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

string getQualifiedParentKeyName()

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

TRelatedModel getRelated()

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

string createdAt()

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

string updatedAt()

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

string relatedUpdatedAt()

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

void whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null)

Добавить ограничение whereIn для ленивой загрузки для данного набора ключей модели.

string whereInMethod(Model $model, string $key)

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

static void requireMorphMap(bool $requireMorphMap = true)

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

static bool requiresMorphMap()

Определить, требуют ли полиморфные связи явного сопоставления моделей.

статический массив enforceMorphMap(массив $map, bool $merge = true)

Определите карту морфизма для полиморфных отношений и потребуйте, чтобы все модели морфизма были явно сопоставлены.

статический массив morphMap(массив|null $map = null, bool $merge = true)

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

статический массив|null buildMorphMapFromModels(массив|null $models = null)

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

статический строка|null getMorphedModel(строка $alias)

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

статический int|строка getMorphAlias(строка $className)

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

void __clone()

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

Подробное описание

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

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

Параметры

смешанный $object
строка $method
массив $parameters

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

смешанный

Исключения

BadMethodCallException

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

Перенаправляет вызов метода данному объекту, возвращая $this, если перенаправленный вызов вернул себя.

Параметры

смешанный $object
строка $method
массив $parameters

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

смешанный

Исключения

BadMethodCallException

static protected void throwBadMethodCallException(строка $method)

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

Параметры

строка $method

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

void

Исключения

BadMethodCallException

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

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

Параметры

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

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

void

static void mixin(объект $mixin, bool $replace = true)

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

Параметры

объект $mixin
bool $replace

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

void

Исключения

ReflectionException

static bool hasMacro(строка $name)

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

Параметры

строка $name

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

bool

static void flushMacros()

Очистить существующие макросы.

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

void

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

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

Параметры

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

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

смешанный

Исключения

BadMethodCallException

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

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

Параметры

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

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

смешанный

void __construct(Builder $query, Model $parent)

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

Параметры

Builder $query
Model $parent

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

void

static смешанный noConstraints(Closure $callback)

Выполняет обратный вызов без ограничений для отношения.

Параметры

Closure $callback

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

смешанный

abstract void addConstraints()

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

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

void

abstract void addEagerConstraints(массив $models)

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

Параметры

массив $models

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

void

abstract TDeclaringModel> initRelation(массив $models, строка $relation)

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

Параметры

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

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

TDeclaringModel>

abstract TDeclaringModel> match(массив $models, Collection $results, строка $relation)

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

Параметры

массив $models
Collection $results
строка $relation

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

TDeclaringModel>
END_OF_DOCUMENT_MARKER

abstract TResult getResults()

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

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

TResult

TRelatedModel> getEager()

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

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

TRelatedModel>

TRelatedModel sole(array|string $columns = ['*'])

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

Параметры

array|string $columns

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

TRelatedModel

Исключения

TRelatedModel>
MultipleRecordsFoundException

TRelatedModel> get(array $columns = ['*'])

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

Параметры

array $columns

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

TRelatedModel>

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

array $attributes

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

int

TRelatedModel> getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Параметры

Builder $query
Builder $parentQuery

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

TRelatedModel>

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

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

В сущности, эти запросы сравнивают имена столбцов, например, с помощью whereColumn.

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

TRelatedModel>

string getRelationCountHash(bool $incrementJoinCount = true)

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

Параметры

bool $incrementJoinCount

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

string

protected array<int,int|string> getKeys(array $models, string|null $key = null)

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

Параметры

array $models
string|null $key

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

array<int,int|string>

protected TRelatedModel> getRelationQuery()

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

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

TRelatedModel>

TRelatedModel> getQuery()

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

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

TRelatedModel>

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

TDeclaringModel getParent()

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

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

TDeclaringModel

string getQualifiedParentKeyName()

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

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

string

TRelatedModel getRelated()

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

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

TRelatedModel

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null)

Добавить ограничение whereIn для загрузки заданного набора ключей модели.

Параметры

string $whereIn
string $key
array $modelKeys
Builder|null $query

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

void

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

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

Параметры

Model $model
string $key

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

string

static void requireMorphMap(bool $requireMorphMap = true)

Предотвратить использование полиморфных отношений без сопоставлений моделей.

Параметры

bool $requireMorphMap

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

void

static bool requiresMorphMap()

Определить, требуют ли полиморфные отношения явного сопоставления моделей.

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

bool

static array enforceMorphMap(array $map, bool $merge = true)

Определить сопоставление morphs для полиморфных отношений и потребовать, чтобы все модели morphed были явно сопоставлены.

Параметры

array $map
bool $merge

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

array

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

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

Параметры

array|null $map
bool $merge

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

array

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

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

Параметры

array|null $models

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

array|null

static string|null getMorphedModel(string $alias)

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

Параметры

string $alias

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

string|null

static int|string getMorphAlias(string $className)

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

Параметры

string $className

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

int|string

void __clone()

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

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

void

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

Spec-Zone.ru

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