Spec-Zone.ru › Laravel 6

MorphTo

класс MorphTo расширяет BelongsTo (View source)

Свойства

SupportsDefaultModels
ForwardsCalls
Macroable

Свойства

статический защищённый массив $macros

Зарегистрированные строковые макросы.

из Macroable
защищённый Builder $query

Экземпляр билдера Eloquent.

из Relation
защищённый Model $parent

Экземпляр родительской модели.

из Relation
защищённый Model $related

Экземпляр связанной модели.

из Relation
статический защищённый bool $constraints

Указывает, добавляет ли отношение ограничения.

из Relation
статический массив $morphMap

Массив для сопоставления имён классов с их именами морфизма в базе данных.

из Relation
защищённый Closure|массив|bool $withDefault

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

из SupportsDefaultModels
защищённый $child

Экземпляр дочерней модели отношения.

из BelongsTo
защищённый строка $foreignKey

Внешний ключ родительской модели.

из BelongsTo
защищённый строка $ownerKey

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

из BelongsTo
защищённый строка $relationName

Имя отношения.

из BelongsTo
статический защищённый целое $selfJoinCount

Количество самосоединений.

из BelongsTo
защищённый строка $morphType

Тип полиморфного отношения.

защищённый Collection $models

Модели, отношения которых загружаются с жадной загрузкой.

защищённый массив $dictionary

Все модели, индексированные по ID.

защищённый массив $macroBuffer

Буфер динамических вызовов макросов запроса.

защищённый массив $morphableEagerLoads

Карта отношений для загрузки по каждому типу морфизма.

Методы

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, string $foreignKey, string $ownerKey, string $type, string $relation)

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

static mixed noConstraints(Closure $callback)

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

из Relation
void addConstraints()

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

из BelongsTo
void addEagerConstraints(array $models)

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

array initRelation(array $models, string $relation)

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

из BelongsTo
array match(array $models, Collection $results, string $relation)

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

mixed getResults()

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

из BelongsTo
Collection getEager()

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

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

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

из Relation
void touch()

Изменить метку времени всех связанных моделей для отношения.

int rawUpdate(array $attributes = [])

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

из Relation
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

из BelongsTo
array getKeys(array $models, string $key = null)

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

из Relation
Builder getQuery()

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

из Relation
Builder getBaseQuery()

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

из Relation
Model getParent()

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

из Relation
string getQualifiedParentKeyName()

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

из Relation
Model getRelated()

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

из Relation
string createdAt()

Получить имя столбца «создано в».

из Relation
string updatedAt()

Получить имя столбца «обновлено в».

из Relation
string relatedUpdatedAt()

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

из Relation
string whereInMethod(Model $model, string $key)

Получить имя метода «where in» для ленивой загрузки.

из Relation
END_OF_DOCUMENT_MARKER
статический массив morphMap(массив $map = null, bool $merge = true)

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

из Relation
статический массив|null buildMorphMapFromModels(массив $models = null)

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

из Relation
статический строка|null getMorphedModel(строка $alias)

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

из Relation
void __clone()

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

из Relation
Модель newRelatedInstanceFor(Модель $parent)

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

$this withDefault(Closure|массив|bool $callback = true)

Возвращает новый экземпляр модели в случае, если отношения не существует.

из SupportsDefaultModels
Модель|null getDefaultFor(Модель $parent)

Получить значение по умолчанию для этих отношений.

из SupportsDefaultModels
массив getEagerModelKeys(массив $models)

Собрать ключи из массива связанных моделей.

из BelongsTo
Модель associate(Модель|int|строка $model)

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

Модель dissociate()

Отвязать ранее связанную модель от заданного родителя.

Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, массив|смешанный $columns = ['*'])

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

из BelongsTo
строка getRelationCountHash()

Получить хэш таблицы объединения отношений.

из BelongsTo
bool relationHasIncrementingId()

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

из BelongsTo
Модель getChild()

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

из BelongsTo
строка getForeignKeyName()

Получить внешний ключ отношения.

из BelongsTo
строка getQualifiedForeignKeyName()

Получить полное квалифицированное имя внешнего ключа отношения.

из BelongsTo
строка getOwnerKeyName()

Получить связанный ключ отношения.

из BelongsTo
строка getQualifiedOwnerKeyName()

Получить полное квалифицированное имя связанного ключа отношения.

из BelongsTo
строка getRelationName()

Получить имя отношения.

из BelongsTo
void buildDictionary(Коллекция $models)

Создать словарь с моделями.

Коллекция getResultsByType(строка $type)

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

массив gatherKeysByType(строка $type)

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

Модель createModelByType(строка $type)

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

void matchToMorphParents(строка $type, Коллекция $results)

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

строка getMorphType()

Получить имя внешнего ключа "тип".

массив getDictionary()

Получить словарь, используемый отношением.

MorphTo morphWith(массив $with)

Указать, какие отношения загрузить для данного типа morph.

Билдер replayMacros(Билдер $query)

Повторить сохранённые вызовы макросов на фактическом связанном экземпляре.

Подробности

protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)

Перенаправить вызов метода данному объекту.

Параметры

смешанный $object
строка $method
массив $parameters

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

смешанный

Исключения

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

Выбросить исключение плохого вызова метода для данного метода.

Parameters

string $method

Return Value

void

Exceptions

BadMethodCallException

static void macro(string $name, object|callable $macro)

Зарегистрировать пользовательскую макрокоманду.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

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

Parameters

object $mixin
bool $replace

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, string $foreignKey, string $ownerKey, string $type, string $relation)

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

Parameters

Builder $query
Model $parent
string $foreignKey
string $ownerKey
string $type
string $relation

Return Value

void

static mixed noConstraints(Closure $callback)

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

Parameters

Closure $callback

Return Value

mixed

void addConstraints()

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

Return Value

void

void addEagerConstraints(array $models)

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

Parameters

array $models

Return Value

void

array initRelation(array $models, string $relation)

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

Parameters

array $models
string $relation

Return Value

array

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

mixed getResults()

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

Return Value

mixed

Collection getEager()

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

Вызывается через метод отложенной загрузки Eloquent query builder.

Return Value

Collection

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

Выполнить запрос как операцию "select".

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 = ['*'])

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

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

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

Параметры

array $models
string $key

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

array

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Model getParent()

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

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

Model

string getQualifiedParentKeyName()

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

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

string

Model getRelated()

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

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

Model

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected string whereInMethod(Model $model, string $key)

Получить имя метода "where in" для ленивой загрузки.

Параметры

Model $model
string $key

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

string

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

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

Параметры

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

protected Model newRelatedInstanceFor(Model $parent)

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

Параметры

Model $parent

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

Model

$this withDefault(Closure|array|bool $callback = true)

Возвращает новый экземпляр модели в случае отсутствия отношения.

Параметры

Closure|array|bool $callback

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

$this

protected Model|null getDefaultFor(Model $parent)

Получить значение по умолчанию для этого отношения.

Параметры

Model $parent

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

Model|null

protected array getEagerModelKeys(array $models)

Собрать ключи из массива связанных моделей.

Параметры

array $models

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

array

Model associate(Model|int|string $model)

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

Параметры

Model|int|string $model

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

Model

Модель dissociate()

Отсоединить ранее связанную модель от указанного родителя.

Значение результата

Модель

Построитель getRelationExistenceQueryForSelfRelation(Построитель $query, Построитель $parentQuery, array|mixed $columns = ['*'])

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

Параметры

Построитель $query
Построитель $parentQuery
array|mixed $columns

Значение результата

Построитель

строка getRelationCountHash()

Получить хэш таблицы соединения связи.

Значение результата

строка

защищенное логическое значение relationHasIncrementingId()

Определить, имеет ли связанная модель автоинкрементный идентификатор.

Значение результата

логическое значение

Модель getChild()

Получить дочерний элемент связи.

Значение результата

Модель

строка getForeignKeyName()

Получить внешний ключ связи.

Значение результата

строка

строка getQualifiedForeignKeyName()

Получить полностью квалифицированный внешний ключ связи.

Значение результата

строка

строка getOwnerKeyName()

Получить связанный ключ связи.

Значение результата

строка

строка getQualifiedOwnerKeyName()

Получить полностью квалифицированный связанный ключ связи.

Значение результата

строка

строка getRelationName()

Получить имя связи.

Значение результата

строка

защищенное void buildDictionary(Коллекция $models)

Создать словарь с моделями.

Параметры

Коллекция $models

Значение результата

void

защищенное Коллекция getResultsByType(строка $type)

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

Параметры

строка $type

Значение результата

Коллекция

защищенное массив gatherKeysByType(строка $type)

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

Параметры

строка $type

Значение результата

массив

Модель createModelByType(строка $type)

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

Параметры

строка $type

Значение результата

Модель

защищенное void matchToMorphParents(строка $type, Коллекция $results)

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

Параметры

строка $type
Коллекция $results

Значение результата

void

строка getMorphType()

Получить имя внешнего ключа «тип».

Значение результата

строка

массив getDictionary()

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

Значение результата

массив

MorphTo morphWith(массив $with)

Указать, какие отношения следует загрузить для заданного типа морфинга.

Параметры

массив $with

Значение результата

MorphTo

защищенное Построитель replayMacros(Построитель $query)

Повторно воспроизвести сохраненные вызовы макросов на фактическом связанном экземпляре.

Параметры

Построитель $query

Значение результата

Построитель

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/6.x/Illuminate/Database/Eloquent/Relations/MorphTo.html

Spec-Zone.ru

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