Spec-Zone.ru › Laravel 9

MorphMany

class MorphMany extends 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
protected string $foreignKey

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

from HasOneOrMany
protected string $localKey

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

from HasOneOrMany
protected string $morphType

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

from MorphOneOrMany
protected string $morphClass

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

from MorphOneOrMany

Методы

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

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

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

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

from ForwardsCalls
static void throwBadMethodCallException(string $method)

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

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

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

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

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

from Macroable
static bool hasMacro(string $name)

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

from Macroable
static void flushMacros()

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

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

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

from Macroable
mixed __call(string $method, array $parameters)

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

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

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

from MorphOneOrMany
static mixed noConstraints(Closure $callback)

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

from Relation
void addConstraints()

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

from MorphOneOrMany
void addEagerConstraints(array $models)

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

from MorphOneOrMany
array initRelation(array $models, string $relation)

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

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

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

mixed getResults()

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

Collection getEager()

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

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

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

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

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

from Relation
void touch()

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

from Relation
int rawUpdate(array $attributes = [])

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

from Relation
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

from MorphOneOrMany
string getRelationCountHash(bool $incrementJoinCount = true)

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

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

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

from Relation
Builder getRelationQuery()

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

from Relation
Builder getQuery()

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

from Relation
Builder getBaseQuery()

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

from Relation
Builder toBase()

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

from Relation
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

from HasOneOrMany
Model getRelated()

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

from Relation
string createdAt()

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

from Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

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

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

из Relation
static void requireMorphMap(bool $requireMorphMap = true)

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

из Relation
static bool requiresMorphMap()

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

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

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

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

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

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

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

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

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

из Relation
void __clone()

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

из Relation
mixed getDictionaryKey(mixed $attribute)

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

из InteractsWithDictionary
Модель make(массив $attributes = [])

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

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

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

из 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|Модель findOrNew(mixed $id, array $columns = ['*'])

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

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

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

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

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

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

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

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

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

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

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

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

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

от Связь один-ко-многим
Коллекция createManyQuietly(iterable $records)

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

от Связь один-ко-многим
void setForeignAttributesForCreate(Модель $model)

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

от Связь морфинг один-ко-многим
Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])

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

от Связь один-ко-многим
string getExistenceCompareKey()

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

от Связь один-ко-многим
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)

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

Параметры

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

Исключения

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)

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

Параметры

Массив $models

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

void

array initRelation(array $models, string $relation)

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

Параметры

Массив $models
Строка $relation

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

Массив

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

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

Параметры

Массив $models
Collection $results
Строка $relation

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

Массив

mixed getResults()

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

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

mixed

Collection getEager()

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

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

Collection

Модель sole(array|string $columns = ['*'])

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

Параметры

array|string $columns

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

Модель

Исключения

Model>
ИсключениеMultipleRecordsFoundException

Коллекция get(array $columns = ['*'])

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

Параметры

array $columns

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

Коллекция

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

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)

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

Параметры

массив $models
строка|null $key

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

массив

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 string whereInMethod(Model $model, string $key)

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

Параметры

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)

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

Параметры

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

Model make(array $attributes = [])

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

Параметры

array $attributes

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

Model

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

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

Параметры

iterable $records

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

Коллекция

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

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

Параметры

массив $models
Коллекция $results
строка $relation

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

массив

массив matchMany(array $models, Коллекция $results, string $relation)

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

Параметры

массив $models
Коллекция $results
строка $relation

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

массив

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

Коллекция|Модель findOrNew(mixed $id, array $columns = ['*'])

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

Параметры

mixed $id
array $columns

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

Коллекция|Модель

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

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

Параметры

array $attributes
array $values

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

Модель

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

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

Параметры

array $attributes
array $values

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

Модель

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

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

Параметры

array $attributes
array $values

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

Model

Model|false save(Model $model)

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

Параметры

Model $model

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

Model|false

Model|false saveQuietly(Model $model)

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

Параметры

Model $model

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

Model|false

iterable saveMany(iterable $models)

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

Параметры

iterable $models

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

iterable

iterable saveManyQuietly(iterable $models)

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

Параметры

iterable $models

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

iterable

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $attributes

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

Модель

Collection createMany(iterable $records)

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

Параметры

iterable $records

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

Collection

Collection createManyQuietly(iterable $records)

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

Параметры

iterable $records

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

Collection

protected void setForeignAttributesForCreate(Model $model)

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

Параметры

Model $model

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

void

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getExistenceCompareKey()

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

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

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/9.x/Illuminate/Database/Eloquent/Relations/MorphMany.html

Spec-Zone.ru

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