Spec-Zone.ru › Laravel 7

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
защищённый Model $child

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Методы

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)

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

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

Выполнить запрос в качестве оператора «select».

из 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|null $key = null)

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

из Relation
Builder getQuery()

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

из Relation
Builder getBaseQuery()

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

из Relation
Model getParent()

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

из Relation
string getQualifiedParentKeyName()

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

из Relation
Model getRelated()

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

из Relation
string createdAt()

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

из Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

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

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

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

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

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

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

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

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

из Relation
void __clone()

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

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

Создать новую связанную сущность для заданной модели.

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

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

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

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

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

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

из BelongsTo
Модель associate(Модель|int|string $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)

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

MorphTo morphWithCount(массив $withCount)

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

Билдер 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|null $key = null)

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

Параметры

array $models
string|null $key

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

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

protected string whereInMethod(Модель $model, string $key)

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

Параметры

Модель $model
string $key

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

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

protected Модель newRelatedInstanceFor(Модель $parent)

Создать новую связанную инстанцию для заданной модели.

Параметры

Модель $parent

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

Модель

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

Возвратить новую инстанцию модели в случае, если связь не существует.

Параметры

Closure|array|bool $callback

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

$this

protected Модель|null getDefaultFor(Модель $parent)

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

Параметры

Модель $parent

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

Модель|null

protected array getEagerModelKeys(array $models)

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

Параметры

array $models

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

array

Модель associate(Модель|int|string $model)

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

Параметры

Модель|int|string $model

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

Модель

Модель dissociate()

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

Значение возвращаемого значения

Модель

Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])

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

Параметры

Билдер $query
Билдер $parentQuery
array|mixed $columns

Значение возвращаемого значения

Билдер

строка getRelationCountHash()

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

Значение возвращаемого значения

строка

защищенное bool relationHasIncrementingId()

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

Значение возвращаемого значения

bool

Модель 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

MorphTo morphWithCount(массив $withCount)

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

Параметры

массив $withCount

Значение возвращаемого значения

MorphTo

защищенное Билдер replayMacros(Билдер $query)

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

Параметры

Билдер $query

Значение возвращаемого значения

Билдер

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

Spec-Zone.ru

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