Отношение
абстрактный класс Отношение реализует 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)
Перенаправляет вызов метода данному объекту.
protected смешанный forwardDecoratedCallTo(смешанный $object, строка $method, массив $parameters)
Перенаправляет вызов метода данному объекту, возвращая $this, если перенаправленный вызов вернул себя.
static protected void throwBadMethodCallException(строка $method)
Выбрасывает исключение плохого вызова метода для данного метода.
static void macro(строка $name, объект|вызываемый $macro)
Регистрирует пользовательское макро.
static void mixin(объект $mixin, bool $replace = true)
Смешивает другой объект в класс.
static bool hasMacro(строка $name)
Проверяет, зарегистрировано ли макро.
static void flushMacros()
Очистить существующие макросы.
static смешанный __callStatic(строка $method, массив $parameters)
Динамически обрабатывает вызовы класса.
смешанный __call(строка $method, массив $parameters)
Обрабатывает динамические вызовы методов к отношению.
static смешанный noConstraints(Closure $callback)
Выполняет обратный вызов без ограничений для отношения.
abstract void addConstraints()
Устанавливает основные ограничения для запроса отношения.
abstract void addEagerConstraints(массив $models)
Устанавливает ограничения для жадного загрузки отношения.
abstract TDeclaringModel> initRelation(массив $models, строка $relation)
Инициализирует отношение для набора моделей.
abstract TDeclaringModel> match(массив $models, Collection $results, строка $relation)
Сопоставляет результаты жадной загрузки с их родителями.
abstract 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 = ['*'])
Добавить ограничения для внутреннего запроса проверки существования отношения.
В сущности, эти запросы сравнивают имена столбцов, например, с помощью whereColumn.
string getRelationCountHash(bool $incrementJoinCount = true)
Получить хэш таблицы соединения отношения.
protected array<int,int|string> getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
protected 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» связанной модели.
protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null)
Добавить ограничение whereIn для загрузки заданного набора ключей модели.
protected 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)
Определить сопоставление morphs для полиморфных отношений и потребовать, чтобы все модели morphed были явно сопоставлены.
static array morphMap(array|null $map = null, bool $merge = true)
Установить или получить сопоставление morphs для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array|null $models = null)
Создает массив с ключами-таблицами из имен классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
static int|string getMorphAlias(string $className)
Получить алиас, связанный с пользовательским полиморфным классом.
void __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
© 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