Spec-Zone.ru › Laravel 10

MorphMany

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

Свойства

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

из Relation
защищенный bool $eagerKeysWereEmpty

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

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

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

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

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

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

Предотвращает морф-связи без карты морфов.

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

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

из Relation
защищенный string $foreignKey

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

из HasOneOrMany
защищенный string $localKey

Локальный ключ родительской модели.

из HasOneOrMany
защищенный string $morphType

Тип внешнего ключа для связи.

из MorphOneOrMany
защищенный string $morphClass

Имя класса родительской модели.

из MorphOneOrMany

Методы

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)

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

из Macroable
void __construct(Builder $query, Model $parent, string $type, string $id, string $localKey)

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

из MorphOneOrMany
static mixed noConstraints(Closure $callback)

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

из Relation
void addConstraints()

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

из MorphOneOrMany
void addEagerConstraints(array $models)

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

из MorphOneOrMany
array initRelation(array $models, string $relation)

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

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

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

mixed getResults()

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

Collection getEager()

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

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

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

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

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

из Relation
void touch()

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

из Relation
int rawUpdate(array $attributes = [])

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

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

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

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

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

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

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

from Relation
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

from HasOneOrMany
Model getRelated()

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

from Relation
string createdAt()

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

from Relation
string updatedAt()

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

from Relation
string relatedUpdatedAt()

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

from Relation
void whereInEager(string $whereIn, string $key, array $modelKeys, Builder $query = null)

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

from Relation
string whereInMethod(Model $model, string $key)

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

from Relation
static void requireMorphMap(bool $requireMorphMap = true)

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

from Relation
static bool requiresMorphMap()

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

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

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

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

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

from Relation
static array|null buildMorphMapFromModels(array $models = null)

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

from Relation
static string|null getMorphedModel(string $alias)

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

from Relation
void __clone()

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

from Relation
mixed getDictionaryKey(mixed $attribute)

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

from InteractsWithDictionary
Model make(array $attributes = [])

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

from HasOneOrMany
Collection makeMany(iterable $records)

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

from HasOneOrMany
array matchOne(array $models, Collection $results, string $relation)

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

from HasOneOrMany
array matchMany(array $models, Collection $results, string $relation)

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

from HasOneOrMany
array matchOneOrMany(array $models, Collection $results, string $relation, string $type)

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

from HasOneOrMany
mixed getRelationValue(array $dictionary, string $key, string $type)

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

from HasOneOrMany
array buildDictionary(Collection $results)

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

from HasOneOrMany
Collection|Model findOrNew(mixed $id, array $columns = ['*'])

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

from HasOneOrMany
Model firstOrNew(array $attributes = [], array $values = [])

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

from HasOneOrMany
Model firstOrCreate(array $attributes = [], array $values = [])

Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её.

from HasOneOrMany
Модель createOrFirst(array $attributes = [], array $values = [])

Попытка создать запись. Если произойдёт нарушение уникальности, то попытка найти соответствующую запись.

из HasOneOrMany
Модель updateOrCreate(array $attributes, array $values = [])

Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.

из HasOneOrMany
Модель|false save(Модель $model)

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

из HasOneOrMany
Модель|false saveQuietly(Модель $model)

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

из HasOneOrMany
iterable saveMany(iterable $models)

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

из HasOneOrMany
iterable saveManyQuietly(iterable $models)

Присоединить коллекцию моделей к родительскому экземпляру без срабатывания каких-либо событий.

из HasOneOrMany
Модель create(array $attributes = [])

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

из HasOneOrMany
Модель createQuietly(array $attributes = [])

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

из HasOneOrMany
Модель forceCreate(array $attributes = [])

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

Модель forceCreateQuietly(array $attributes = [])

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

Коллекция createMany(iterable $records)

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

из HasOneOrMany
Коллекция createManyQuietly(iterable $records)

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

из HasOneOrMany
void setForeignAttributesForCreate(Модель $model)

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

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

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

из HasOneOrMany
string getExistenceCompareKey()

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

из HasOneOrMany
mixed getParentKey()

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

из HasOneOrMany
string getForeignKeyName()

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

из HasOneOrMany
string getQualifiedForeignKeyName()

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

из HasOneOrMany
string getLocalKeyName()

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

из HasOneOrMany
string getQualifiedMorphType()

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

из MorphOneOrMany
string getMorphType()

Получить простое имя морфного типа без таблицы.

из MorphOneOrMany
string getMorphClass()

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

из MorphOneOrMany
MorphOne one()

Преобразовать отношение в отношение "morph one".

Подробности

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

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

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

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

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

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

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

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

Return Value

void

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

Exceptions

BadMethodCallException

void __construct(Builder $query, Model $parent, string $type, string $id, string $localKey)

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

Parameters

Builder $query
Model $parent
string $type
string $id
string $localKey

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

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

Return Value

Collection

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

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

Parameters

array|string $columns

Return Value

Model

Exceptions

Model>
MultipleRecordsFoundException

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

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

Parameters

array $columns

Return Value

Collection

void touch()

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

Return Value

void

int rawUpdate(array $attributes = [])

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

Parameters

array $attributes

Return Value

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

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

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, string $key)

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

Параметры

Модель $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 для полиморфных отношений и потребовать, чтобы все модели morphed были явно сопоставлены.

Параметры

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

protected mixed getDictionaryKey(mixed $attribute)

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

Параметры

mixed $attribute

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

mixed

Исключения

InvalidArgumentException

Model make(array $attributes = [])

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

Параметры

array $attributes

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

Model

Collection makeMany(iterable $records)

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

Параметры

iterable $records

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

Collection

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

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

Параметры

array $models
Collection $results
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

protected array matchOneOrMany(array $models, Collection $results, string $relation, string $type)

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

Параметры

array $models
Collection $results
string $relation
string $type

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

array

protected mixed getRelationValue(array $dictionary, string $key, string $type)

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

Параметры

array $dictionary
string $key
string $type

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

mixed

protected array buildDictionary(Collection $results)

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

Параметры

Collection $results

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

array

Collection|Model findOrNew(mixed $id, array $columns = ['*'])

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

Параметры

mixed $id
array $columns

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

Collection|Model

Model firstOrNew(array $attributes = [], array $values = [])

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

Параметры

array $attributes
array $values

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

Model

Model firstOrCreate(array $attributes = [], array $values = [])

Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её.

Параметры

array $attributes
array $values

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

Model

Model createOrFirst(array $attributes = [], array $values = [])

Попытаться создать запись. Если возникает нарушение уникальности, попытаться найти соответствующую запись.

Параметры

array $attributes
array $values

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

Model

Model updateOrCreate(array $attributes, array $values = [])

Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.

Параметры

array $attributes
array $values

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

Model
END_OF_DOCUMENT_MARKER

Model|false save(Model $model)

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

Parameters

Model $model

Return Value

Model|false

Model|false saveQuietly(Model $model)

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

Parameters

Model $model

Return Value

Model|false

iterable saveMany(iterable $models)

Прикрепить коллекцию моделей к родительскому экземпляру.

Parameters

iterable $models

Return Value

iterable

iterable saveManyQuietly(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

Model create(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model createQuietly(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model forceCreate(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model forceCreateQuietly(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Collection createMany(iterable $records)

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

Parameters

iterable $records

Return Value

Collection

Collection createManyQuietly(iterable $records)

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

Parameters

iterable $records

Return Value

Collection

protected void setForeignAttributesForCreate(Model $model)

Установить внешний ID и тип для создания связанной модели.

Parameters

Model $model

Return Value

void

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

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

Parameters

Builder $query
Builder $parentQuery
array|mixed $columns

Return Value

Builder

string getExistenceCompareKey()

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

Return Value

string

mixed getParentKey()

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

Return Value

mixed

string getForeignKeyName()

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

Return Value

string

string getQualifiedForeignKeyName()

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

Return Value

string

string getLocalKeyName()

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

Return Value

string

string getQualifiedMorphType()

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

Return Value

string

string getMorphType()

Получить простое имя морфного типа без таблицы.

Return Value

string

string getMorphClass()

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

Return Value

string

MorphOne one()

Преобразовать отношение в отношение "morph one".

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

MorphOne

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

Spec-Zone.ru

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