Отношение
абстрактный класс Отношение mixin Builder (Посмотреть исходный код)
Трейты
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищенный массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищенный Builder | $query | Экземпляр билдера запросов Eloquent. | |
| защищенный Model | $parent | Экземпляр родительской модели. | |
| защищенный Model | $related | Экземпляр связанной модели. | |
| статический защищенный булево значение | $constraints | Указывает, добавляет ли отношение ограничения. | |
| статический массив | $morphMap | Массив для сопоставления имен классов с их именами morph в базе данных. |
Методы
| 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) Обработка динамических вызовов методов отношения. | |
| 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() Получить отношение для ленивой загрузки. | |
| 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 = ['*']) Добавить ограничения для внутреннего запроса существования отношения. | |
| array | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | |
| Builder | getQuery() Получить базовый запрос для отношения. | |
| Builder | getBaseQuery() Получить базовый строитель запросов, управляющий строителем Eloquent. | |
| Model | getParent() Получить родительскую модель отношения. | |
| string | getQualifiedParentKeyName() Получить полное имя родительского ключа. | |
| Model | getRelated() Получить связанную модель отношения. | |
| string | createdAt() Получить имя столбца «created at». | |
| string | updatedAt() Получить имя столбца «updated at». | |
| string | relatedUpdatedAt() Получить имя столбца «updated at» связанной модели. | |
| string | whereInMethod(Model $model, string $key) Получить имя метода «where in» для ленивой загрузки. | |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить отображение morph для полиморфных отношений. | |
| static array|null | buildMorphMapFromModels(array $models = null) Создаёт массив, индексированный по таблицам, из имён классов моделей. | |
| static string|null | getMorphedModel(string $alias) Получить модель, связанную с типом полиморфизма. | |
| void | __clone() Принудительно клонировать базовый строитель запросов при клонировании. |
Details
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение вызова неправильного метода для заданного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макрос.
static void mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс.
static bool hasMacro(string $name)
Проверяет, зарегистрировано ли макрос.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывать вызовы класса.
mixed __call(string $method, array $parameters)
Обрабатывать динамические вызовы методов отношения.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений на отношение.
abstract void addConstraints()
Установить базовые ограничения на запрос отношения.
abstract void addEagerConstraints(array $models)
Установить ограничения для жадного загрузки отношения.
abstract array initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей.
abstract array match(array $models, Collection $results, string $relation)
Сопоставить результаты жадной загрузки с их родителями.
abstract mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для жадной загрузки.
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 = ['*'])
Добавить ограничения для внутреннего запроса существования отношения.
В сущности, эти запросы сравнивают имена столбцов, как в операторе whereColumn.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запросов, управляющий Eloquent билдером.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа.
Model getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца "created at".
string updatedAt()
Получить имя столбца "updated at".
string relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
protected string whereInMethod(Model $model, string $key)
Получить имя метода "where in" для ленивой загрузки.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить морф-отображение для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создает таблично-индексированный массив из имён классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Вынужденное клонирование билдера запросов при клонировании.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/6.x/Illuminate/Database/Eloquent/Relations/Relation.html