Spec-Zone.ru › Laravel 10

MorphTo

класс MorphTo расширяет BelongsTo (Просмотреть исходный код)

Трейты

InteractsWithDictionary
ComparesRelatedModels
InteractsWithDictionary
SupportsDefaultModels
ForwardsCalls
Macroable

Свойства

static protected array $macros

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

from Macroable
protected Builder $query

Экземпляр Eloquent-строителя запросов.

from Relation
protected Model $parent

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

from Relation
protected Model $related

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

from Relation
protected bool $eagerKeysWereEmpty

Указывает, должна ли жадно загруженная связь неявно возвращать пустой коллекцию.

from Relation
static protected bool $constraints

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

from Relation
static array $morphMap

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

from Relation
static protected bool $requireMorphMap

Препятствует морфическим отношениям без карты морфизма.

from Relation
static protected int $selfJoinCount

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

from Relation
protected Closure|array|bool $withDefault

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

from SupportsDefaultModels
protected Model $child

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

from BelongsTo
protected string $foreignKey

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

from BelongsTo
protected string $ownerKey

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

from BelongsTo
protected string $relationName

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

from BelongsTo
protected string $morphType

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

protected Collection $models

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

protected array $dictionary

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

protected array $macroBuffer

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

protected array $morphableEagerLoads

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

protected массив $morphableEagerLoadCounts

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

protected массив $morphableConstraints

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

Методы

mixed forwardCallTo(mixed $object, string $method, array $parameters)

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

из ForwardsCalls
mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

Перенаправить вызов метода заданному объекту, вернув $this, если перенаправленный вызов вернул сам себя.

из 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 void flushMacros()

Очистить существующие макросы.

из 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()

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

Model sole(array|string $columns = ['*'])

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

из Relation
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
string getRelationCountHash(bool $incrementJoinCount = true)

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

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

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

из Relation
Builder getRelationQuery()

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

из Relation
Builder getQuery()

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

из Relation
Builder getBaseQuery()

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

из Relation
Builder toBase()

Получить экземпляр базового конструктора запроса.

из Relation
Модель getParent()

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

из Отношения
строка getQualifiedParentKeyName()

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

из Отношения
Модель getRelated()

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

из Отношения
строка createdAt()

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

из Отношения
строка updatedAt()

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

из Отношения
строка relatedUpdatedAt()

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

из Отношения
пустое значение whereInEager(string $whereIn, string $key, array $modelKeys, Билдер $query = null)

Добавить ограничение whereIn для загрузки заданного набора ключей модели.

из Отношения
строка whereInMethod(Модель $model, string $key)

Получить имя метода "where in" для eager loading.

из Отношения
статический пустое значение requireMorphMap(bool $requireMorphMap = true)

Предотвратить использование полиморфных отношений без сопоставлений моделей.

из Отношения
статическая логическая requiresMorphMap()

Определить, требуют ли полиморфные отношения явного сопоставления моделей.

из Отношения
статическая массив enforceMorphMap(array $map, bool $merge = true)

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

из Отношения
статическая массив morphMap(array $map = null, bool $merge = true)

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

из Отношения
статическая массив|null buildMorphMapFromModels(array $models = null)

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

из Отношения
статическая строка|null getMorphedModel(string $alias)

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

из Отношения
void __clone()

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

из Relation
bool is(Модель|null $model)

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

из ComparesRelatedModels
bool isNot(Модель|null $model)

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

из ComparesRelatedModels
mixed getParentKey()

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

из ComparesRelatedModels
mixed getRelatedKeyFrom(Модель $model)

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

из ComparesRelatedModels
bool compareKeys(mixed $parentKey, mixed $relatedKey)

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

из ComparesRelatedModels
mixed getDictionaryKey(mixed $attribute)

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

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

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

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

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

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

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

из SupportsDefaultModels
array getEagerModelKeys(array $models)

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

из BelongsTo
Модель associate(Модель|int|string|null $model)

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

Модель dissociate()

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

Модель disassociate()

Псевдоним метода "dissociate".

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

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

из BelongsTo
bool relationHasIncrementingId()

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

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

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

из BelongsTo
string getForeignKeyName()

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

из BelongsTo
string getQualifiedForeignKeyName()

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

из BelongsTo
string getOwnerKeyName()

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

из BelongsTo
string getQualifiedOwnerKeyName()

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

из BelongsTo
mixed getForeignKeyFrom(Модель $model)

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

из BelongsTo
string getRelationName()

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

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

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

Коллекция getResultsByType(string $type)

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

array gatherKeysByType(string $type, string $keyType)

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

Модель createModelByType(string $type)

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

void matchToMorphParents(string $type, Коллекция $results)

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

string getMorphType()

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

array getDictionary()

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

MorphTo morphWith(array $with)

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

MorphTo morphWithCount(array $withCount)

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

MorphTo constrain(array $callbacks)

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

$this withTrashed()

Указать, что мягко удаленные модели должны быть включены в результаты.

$this withoutTrashed()

Указать, что мягко удаленные модели не должны быть включены в результаты.

$this onlyTrashed()

Указать, что только мягко удаленные модели должны быть включены в результаты.

Builder replayMacros(Builder $query)

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

Подробности

protected mixed forwardCallTo(mixed $object, string $method, array $parameters)

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

Параметры

mixed $object
string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

Передать вызов метода данному объекту, вернув $this, если переданный вызов вернул себя.

Параметры

mixed $object
string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

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

Параметры

string $method

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

void

Исключения

BadMethodCallException

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

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

Параметры

string $name
object|callable $macro

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

void

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

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

Параметры

object $mixin
bool $replace

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

void

Исключения

ReflectionException

static bool hasMacro(string $name)

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

Параметры

string $name

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

bool

static void flushMacros()

Очистить существующие макросы.

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

void

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

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

void __construct(Builder $query, Model $parent, string $foreignKey, string $ownerKey, string $type, string $relation)

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

Параметры

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

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

void

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

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

Параметры

array $models

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

void

array initRelation(array $models, string $relation)

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

mixed getResults()

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

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

mixed

Collection getEager()

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

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

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

Collection

Model sole(array|string $columns = ['*'])

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

Параметры

array|string $columns

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

Model

Исключения

Model>
MultipleRecordsFoundException

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

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

Параметры

array $columns

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

Collection

void touch()

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

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

void

int rawUpdate(array $attributes = [])

Выполнить обновление с помощью SQL-запроса к базовому запросу.

Параметры

array $attributes

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

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Параметры

Builder $query
Builder $parentQuery

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

Builder

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getRelationCountHash(bool $incrementJoinCount = true)

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

Параметры

bool $incrementJoinCount

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

string

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

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

Параметры

array $models
string|null $key

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

array

protected Builder getRelationQuery()

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

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

Builder

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Builder toBase()

Получить экземпляр базового конструктора запроса.

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

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 void whereInEager(string $whereIn, string $key, array $modelKeys, Builder $query = null)

Добавить ограничение whereIn для загрузки заданного набора идентификаторов моделей.

Параметры

string $whereIn
string $key
array $modelKeys
Builder $query

Значение возврата

void

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

Получить имя метода "where in" для загрузки с помощью eager loading.

Параметры

Model $model
string $key

Значение возврата

string

static void requireMorphMap(bool $requireMorphMap = true)

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

Параметры

bool $requireMorphMap

Значение возврата

void

static bool requiresMorphMap()

Определить, требуют ли полиморфные отношения явного сопоставления моделей.

Значение возврата

bool

static array enforceMorphMap(array $map, bool $merge = true)

Определить сопоставление morph для полиморфных отношений и потребовать явного сопоставления всех моделей, на которые ссылаются.

Параметры

array $map
bool $merge

Значение возврата

array

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

bool is(Модель|null $model)

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

Параметры

Модель|null $model

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

bool

bool isNot(Модель|null $model)

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

Параметры

Модель|null $model

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

bool

abstract mixed getParentKey()

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

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

mixed

abstract protected mixed getRelatedKeyFrom(Модель $model)

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

Параметры

Модель $model

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

mixed

protected bool compareKeys(mixed $parentKey, mixed $relatedKey)

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

Параметры

mixed $parentKey
mixed $relatedKey

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

bool

protected mixed getDictionaryKey(mixed $attribute)

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

Параметры

mixed $attribute

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

mixed

Исключения

InvalidArgumentException

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|null $model)

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

Параметры

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

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

Модель

Модель dissociate()

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

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

Модель

Модель disassociate()

Псевдоним метода «dissociate».

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

Модель

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

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

Параметры

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

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

Билдер

protected bool relationHasIncrementingId()

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

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

bool

Модель getChild()

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

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

Модель

string getForeignKeyName()

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

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

string

string getQualifiedForeignKeyName()

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

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

string

string getOwnerKeyName()

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

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

string

string getQualifiedOwnerKeyName()

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

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

string

protected mixed getForeignKeyFrom(Model $model)

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

Параметры

Model $model

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

mixed

string getRelationName()

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

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

string

protected void buildDictionary(Collection $models)

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

Параметры

Collection $models

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

void

protected Collection getResultsByType(string $type)

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

Параметры

string $type

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

Collection

protected array gatherKeysByType(string $type, string $keyType)

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

Параметры

string $type
string $keyType

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

array

Model createModelByType(string $type)

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

Параметры

string $type

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

Model

protected void matchToMorphParents(string $type, Collection $results)

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

Параметры

string $type
Collection $results

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

void

string getMorphType()

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

Значение возврата

string

array getDictionary()

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

Значение возврата

array

MorphTo morphWith(array $with)

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

Параметры

array $with

Значение возврата

MorphTo

MorphTo morphWithCount(array $withCount)

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

Параметры

array $withCount

Значение возврата

MorphTo

MorphTo constrain(array $callbacks)

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

Параметры

array $callbacks

Значение возврата

MorphTo

$this withTrashed()

Указать, что мягко удалённые модели должны быть включены в результаты.

Значение возврата

$this

$this withoutTrashed()

Указать, что мягко удалённые модели не должны быть включены в результаты.

Значение возврата

$this

$this onlyTrashed()

Указать, что только мягко удалённые модели должны быть включены в результаты.

Значение возврата

$this

protected Builder replayMacros(Builder $query)

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

Параметры

Builder $query

Значение возврата

Builder

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

Spec-Zone.ru

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