Связь
класс Relation (View source)
Черты
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | из Macroable |
| protected Builder | $query | Экземпляр построителя запросов Eloquent. | |
| protected Model | $parent | Экземпляр родительской модели. | |
| protected Model | $related | Экземпляр связанной модели. | |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | |
| static protected 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()
Получить основной запрос для отношения.
Построитель запросов getBaseQuery()
Получить базовый построитель запросов, управляющий построителем Eloquent.
Модель getParent()
Получить родительскую модель отношения.
строка getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя столбца "created at".
строка updatedAt()
Получить имя столбца "updated at".
строка relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
статический массив morphMap(массив $map = null, bool $merge = true)
Установить или получить карту morph для полиморфных отношений.
статический защищенный массив|null buildMorphMapFromModels(массив $models = null)
Создает таблично-индексированный массив из имён классов моделей.
статический строка|null getMorphedModel(строка $alias)
Получить модель, связанную с пользовательским полиморфным типом.
пусто __clone()
Принудительно клонировать базовый построитель запросов при клонировании.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Relations/Relation.html