Spec-Zone.ru › Laravel 8

MorphMany

класс MorphMany расширяет MorphOneOrMany (View source)

Свойства

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

из 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
Модель getParent()

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

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

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

из ОдинКОдномуИлиНесколькоКОдному
Модель getRelated()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

из Отношения
смешанный тип getDictionaryKey(mixed $attribute)

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

из Взаимодействует со словарем
Модель make(array $attributes = [])

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

из ОдинКОдномуИлиНесколькоКОдному
Коллекция makeMany(iterable $records)

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

из ОдинКОдномуИлиНесколькоКОдному
массив matchOne(array $models, Коллекция $results, string $relation)

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

из ОдинКОдномуИлиНесколькоКОдному
массив matchMany(array $models, Коллекция $results, string $relation)

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

из ОдинКОдномуИлиНесколькоКОдному
массив matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)

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

из ОдинКОдномуИлиНесколькоКОдному
смешанный тип getRelationValue(array $dictionary, string $key, string $type)

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

из ОдинКОдномуИлиНесколькоКОдному
массив buildDictionary(Коллекция $results)

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

из ОдинКОдномуИлиНесколькоКОдному
Коллекция| Модель findOrNew(mixed $id, array $columns = ['*'])

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

из ОдинКОдномуИлиНесколькоКОдному
Модель firstOrNew(array $attributes = [], array $values = [])

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

из ОдинКОдномуИлиНесколькоКОдному
Модель firstOrCreate(array $attributes = [], array $values = [])

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

из ОдинКОдномуИлиНесколькоКОдному
Модель updateOrCreate(array $attributes, array $values = [])

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

из ОдинКОдномуИлиНесколькоКОдному
Модель|ложь save(Модель $model)

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

из ОдинКОдномуИлиНесколькоКОдному
iterable saveMany(iterable $models)

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

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

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

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

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

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

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

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

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

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

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

from HasOneOrMany
string getExistenceCompareKey()

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

from HasOneOrMany
mixed getParentKey()

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

from HasOneOrMany
string getForeignKeyName()

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

from HasOneOrMany
string getQualifiedForeignKeyName()

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

from HasOneOrMany
string getLocalKeyName()

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

from HasOneOrMany
string getQualifiedMorphType()

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

from MorphOneOrMany
string getMorphType()

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

from MorphOneOrMany
string getMorphClass()

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

from MorphOneOrMany

Подробности

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
END_OF_DOCUMENT_MARKER

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

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

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

Параметры

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

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

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

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

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

Collection

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

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

Параметры

array|string $columns

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

Model

Исключения

ModelNotFoundException
MultipleRecordsFoundException

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

Выполняет запрос как операцию «select».

Параметры

array $columns

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

Collection

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

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
END_OF_DOCUMENT_MARKER

protected Builder getRelationQuery()

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

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

Builder

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 void requireMorphMap(bool $requireMorphMap = true)

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

Параметры

bool $requireMorphMap

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

void

static bool requiresMorphMap()

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

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

bool

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

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

Параметры

array $map
bool $merge

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

array

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 mixed getDictionaryKey(mixed $attribute)

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

Параметры

mixed $attribute

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

mixed

Исключения

InvalidArgumentException

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

iterable $records

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

Коллекция

array matchOne(array $models, Коллекция $results, string $relation)

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

Параметры

array $models
Коллекция $results
string $relation

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

array

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

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

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

Parameters

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

Return Value

array

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

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

Parameters

array $dictionary
string $key
string $type

Return Value

mixed

protected array buildDictionary(Collection $results)

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

Parameters

Collection $results

Return Value

array

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

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

Parameters

mixed $id
array $columns

Return Value

Collection|Model

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

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

Parameters

array $attributes
array $values

Return Value

Model

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

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

Parameters

array $attributes
array $values

Return Value

Model

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

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

Parameters

array $attributes
array $values

Return Value

Model

Model|false save(Model $model)

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

Parameters

Model $model

Return Value

Model|false

iterable saveMany(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

Model create(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model forceCreate(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Collection createMany(iterable $records)

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

Parameters

iterable $records

Return Value

Collection

protected void setForeignAttributesForCreate(Model $model)

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

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

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

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

mixed

string getForeignKeyName()

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

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

string

string getQualifiedForeignKeyName()

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

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

string

string getLocalKeyName()

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

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

string

string getQualifiedMorphType()

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

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

string

string getMorphType()

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

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

string

string getMorphClass()

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

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

string

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

Spec-Zone.ru

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