Связь
класс Relation (View source)
Черты
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | из Macroable |
| protected Builder | $query | Экземпляр построителя запросов Eloquent. | |
| protected Model | $parent | Экземпляр родительской модели. | |
| protected Model | $related | Экземпляр связанной модели. | |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | |
| static array | $morphMap | Массив для сопоставления имен классов с их морф-именами в базе данных. |
Методы
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательский макрос. | из Macroable |
| static void | mixin(object $mixin) Смешать другой объект в класс. | из 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" связанной модели. | |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить отображение морфинга для полиморфных отношений. | |
| static array|null | buildMorphMapFromModels(array $models = null) Создает индексированный по таблице массив из имен классов моделей. | |
| static string|null | getMorphedModel(string $alias) Получить модель, связанную с пользовательским полиморфным типом. | |
| void | __clone() Принудительно клонировать основной построитель запросов при клонировании. |
Подробности
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательский макрос.
static void mixin(object $mixin)
Смешать другой объект в класс.
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.
Модель getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное имя ключа родительской записи.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца "created at".
string updatedAt()
Получить имя столбца "updated at".
string relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
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/5.6/Illuminate/Database/Eloquent/Relations/Relation.html