Отношение
абстрактный класс Отношение (Просмотреть исходный код)
Трейты
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый Builder | $query | Экземпляр билдера запросов Eloquent. | |
| защищённый Model | $parent | Экземпляр родительской модели. | |
| защищённый Model | $related | Экземпляр связанной модели. | |
| статический защищённый bool | $constraints | Указывает, добавляет ли отношение ограничения. | |
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами морфинг в базе данных. |
Методы
| 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) Обработать динамические вызовы методов для отношения. | |
| 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 = ['*']) Выполнить запрос как операцию «выбор». | |
| 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() Получить имя столбца «создано в». | |
| string | updatedAt() Получить имя столбца «обновлено в». | |
| string | relatedUpdatedAt() Получить имя столбца «обновлено в» связанной модели. | |
| 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 = ['*'])
Выполнить запрос в качестве оператора «выбор».
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()
Получить имя столбца "создано в".
string updatedAt()
Получить имя столбца "обновлено в".
string relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели.
protected string whereInMethod(Model $model, string $key)
Получить имя метода "where in" для ленивой загрузки.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить карту morph для полиморфных отношений.
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/5.8/Illuminate/Database/Eloquent/Relations/Relation.html