Spec-Zone.ru › Laravel 10

Отношение

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

Трейты

ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запрещает morph-связи без morph-карты.

статический защищенный 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)

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

array initRelation(array $models, string $relation)

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

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

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

mixed getResults()

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

Collection getEager()

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

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

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

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

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

void touch()

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

int rawUpdate(array $attributes = [])

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

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

string getRelationCountHash(bool $incrementJoinCount = true)

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

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

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

Builder getRelationQuery()

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

Builder getQuery()

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

Builder getBaseQuery()

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

Builder toBase()

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

Model getParent()

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

string getQualifiedParentKeyName()

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

Model getRelated()

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

string createdAt()

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

string updatedAt()

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

string relatedUpdatedAt()

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

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

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

string whereInMethod(Model $model, string $key)

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

static void requireMorphMap(bool $requireMorphMap = true)

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

static bool requiresMorphMap()

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

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

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

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

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

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

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

static string|null getMorphedModel(string $alias)

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

void __clone()

Вынужденное клонирование базового билдера запросов при клонировании.

Подробности

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

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

Параметры

mixed $object
string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

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

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

Параметры

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

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

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

void

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

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

void __construct(Builder $query, Model $parent)

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

Параметры

Builder $query
Model $parent

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

void

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed

abstract void addConstraints()

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

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

void

abstract void addEagerConstraints(array $models)

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

Параметры

array $models

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

void

abstract array initRelation(array $models, string $relation)

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

abstract mixed getResults()

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

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

mixed

Collection getEager()

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

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

Collection

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

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

Параметры

array|string $columns

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

Модель

Исключения

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

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

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getRelationCountHash(bool $incrementJoinCount = true)

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

Параметры

bool $incrementJoinCount

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

string

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

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

Параметры

array $models
string|null $key

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

array

protected Builder getRelationQuery()

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

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

Builder

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

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

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

Параметры

string $whereIn
string $key
array $modelKeys
Builder $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)

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

Параметры

array $map
bool $merge

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

array

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

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

Spec-Zone.ru

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