Spec-Zone.ru › Laravel 5.6

Связь

класс 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)

Зарегистрировать пользовательский макрос.

Параметры

string $name
object|callable $macro

Возвращаемое значение

void

static void mixin(object $mixin)

Смешать другой объект в класс.

Parameters

object $mixin

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Проверяет, зарегистрирован ли макрос.

Parameters

string $name

Return Value

bool

static mixed __callStatic(string $method, array $parameters)

Динамически обрабатывает вызовы класса.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Обработка динамических вызовов метода для отношения.

Parameters

string $method
array $parameters

Return Value

mixed

void __construct(Builder $query, Model $parent)

Создать новый экземпляр отношения.

Parameters

Builder $query
Model $parent

Return Value

void

static mixed noConstraints(Closure $callback)

Выполнить обратный вызов без ограничений для отношения.

Parameters

Closure $callback

Return Value

mixed

abstract void addConstraints()

Установить базовые ограничения для запроса отношения.

Return Value

void

abstract void addEagerConstraints(array $models)

Установить ограничения для отложенной загрузки отношения.

Parameters

array $models

Return Value

void

abstract array initRelation(array $models, string $relation)

Инициализировать отношение для набора моделей.

Parameters

array $models
string $relation

Return Value

array

abstract array match(array $models, Collection $results, string $relation)

Сопоставить загруженные с отложенной загрузкой результаты с их родителями.

Parameters

array $models
Collection $results
string $relation

Return Value

array

abstract mixed getResults()

Получить результаты отношения.

Return Value

mixed

Collection getEager()

Получить отношение для отложенной загрузки.

Return Value

Collection

Collection get(array $columns = ['*'])

Выполнить запрос как операцию «выбор».

Parameters

array $columns

Return Value

Collection

void touch()

Обновить все связанные модели для отношения.

Return Value

void

int rawUpdate(array $attributes = [])

Выполнить «сырое» обновление по основному запросу.

Parameters

array $attributes

Return Value

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

Добавить ограничения для запроса подсчёта отношения.

Parameters

Builder $query
Builder $parentQuery

Return Value

Builder

Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для внутреннего запроса существования отношения.

В сущности, эти запросы сравнивают имена столбцов, как в `whereColumn`.

Parameters

Builder $query
Builder $parentQuery
array|mixed $columns

Return Value

Builder

protected array getKeys(array $models, string $key = null)

Получить все первичные ключи для массива моделей.

Parameters

array $models
string $key

Return Value

array

Builder getQuery()

Получить основное запрошенное для отношения.

Возвращаемое значение

Builder

Builder getBaseQuery()

Получить базовый билдер запроса, управляющий билдером Eloquent.

Возвращаемое значение

Builder

Модель getParent()

Получить родительскую модель отношения.

Возвращаемое значение

Модель

string getQualifiedParentKeyName()

Получить полное имя ключа родительской записи.

Возвращаемое значение

string

Модель getRelated()

Получить связанную модель отношения.

Возвращаемое значение

Модель

string createdAt()

Получить имя столбца "created at".

Возвращаемое значение

string

string updatedAt()

Получить имя столбца "updated at".

Возвращаемое значение

string

string relatedUpdatedAt()

Получить имя столбца "updated at" связанной модели.

Возвращаемое значение

string

static array morphMap(array $map = null, bool $merge = true)

Установить или получить карту морфинга для полиморфных отношений.

Параметры

array $map
bool $merge

Возвращаемое значение

array

static protected array|null buildMorphMapFromModels(array $models = null)

Создаёт таблично-индексированный массив из имён классов моделей.

Параметры

array $models

Возвращаемое значение

array|null

static string|null getMorphedModel(string $alias)

Получить модель, связанную с пользовательским полиморфным типом.

Параметры

string $alias

Возвращаемое значение

string|null

void __clone()

Вынужденно клонировать подчинённый билдер запроса при клонировании.

Возвращаемое значение

void

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API