Spec-Zone.ru › Laravel 11

MorphMany

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

Трейты

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

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

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

из Macroable
защищенный TRelatedModel> $query

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

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

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

из Relation
защищенный TRelatedModel $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)

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

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
TDeclaringModel> initRelation(array $models, string $relation)

Без описания

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

Без описания

TResult getResults()

Без описания

TRelatedModel> getEager()

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

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

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

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

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

from Relation
void touch()

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

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

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

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

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

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

Без описания

from MorphOneOrMany
string getRelationCountHash(bool $incrementJoinCount = true)

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

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

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

from Relation
TRelatedModel> getRelationQuery()

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

from Relation
TRelatedModel> getQuery()

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

from Relation
Builder getBaseQuery()

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

from Relation
Builder toBase()

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

from Relation
TDeclaringModel getParent()

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

from Relation
string getQualifiedParentKeyName()

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

from HasOneOrMany
TRelatedModel getRelated()

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

from Relation
string createdAt()

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

from Relation
string updatedAt()

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

from Relation
string relatedUpdatedAt()

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

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

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

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

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

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

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

from Relation
static bool requiresMorphMap()

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

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

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

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

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

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

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

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

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

from Relation
static int|string getMorphAlias(string $className)

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

from Relation
void __clone()

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

from Relation
mixed getDictionaryKey(mixed $attribute)

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

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

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

from HasOneOrMany
TRelatedModel> makeMany(iterable $records)

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

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

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

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

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

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

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

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

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

from HasOneOrMany
TRelatedModel>[] buildDictionary(Collection $results)

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

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

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

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

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

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

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

from HasOneOrMany
TRelatedModel createOrFirst(array $attributes = [], array $values = [])

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

from HasOneOrMany
TRelatedModel updateOrCreate(array $attributes, array $values = [])

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

from HasOneOrMany
TRelatedModel|false save(Model $model)

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

из HasOneOrMany
TRelatedModel|false saveQuietly(Model $model)

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

из HasOneOrMany
TRelatedModel> saveMany(TRelatedModel> $models)

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

из HasOneOrMany
TRelatedModel> saveManyQuietly(TRelatedModel> $models)

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

из HasOneOrMany
TRelatedModel create(array $attributes = [])

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

из HasOneOrMany
TRelatedModel createQuietly(array $attributes = [])

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

из HasOneOrMany
TRelatedModel forceCreate(array $attributes = [])

Без описания

TRelatedModel forceCreateQuietly(array $attributes = [])

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

из HasOneOrMany
TRelatedModel> createMany(iterable $records)

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

из HasOneOrMany
TRelatedModel> createManyQuietly(iterable $records)

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

из HasOneOrMany
void setForeignAttributesForCreate(Model $model)

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

из MorphOneOrMany
TRelatedModel> getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

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

из HasOneOrMany
$this take(int $value)

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

из HasOneOrMany
$this limit(int $value)

Установить значение "limit" запроса.

из HasOneOrMany
string getExistenceCompareKey()

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

из HasOneOrMany
mixed getParentKey()

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

из HasOneOrMany
string getForeignKeyName()

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

из HasOneOrMany
string getQualifiedForeignKeyName()

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

из HasOneOrMany
string getLocalKeyName()

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

из HasOneOrMany
string getQualifiedMorphType()

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

из MorphOneOrMany
string getMorphType()

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

из MorphOneOrMany
string getMorphClass()

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

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

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

Параметры

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)

Без описания

Параметры

array $models

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

void

TDeclaringModel> initRelation(array $models, string $relation)

Без описания

Параметры

array $models
string $relation

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

TDeclaringModel>

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

Без описания

Параметры

array $models
Collection $results
string $relation

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

TDeclaringModel>

TResult getResults()

Без описания

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

TResult

TRelatedModel> getEager()

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

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

TRelatedModel>

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

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

Параметры

array|string $columns

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

TRelatedModel

Исключения

TRelatedModel>
MultipleRecordsFoundException

TRelatedModel> get(array $columns = ['*'])

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

Параметры

array $columns

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

TRelatedModel>

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

array $attributes

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

int

TRelatedModel> getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Параметры

Builder $query
Builder $parentQuery

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

TRelatedModel>
END_OF_DOCUMENT_MARKER

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

Без описания

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

TRelatedModel>

string getRelationCountHash(bool $incrementJoinCount = true)

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

Параметры

bool $incrementJoinCount

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

string

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

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

Параметры

array $models
string|null $key

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

array<int,int|string>

protected TRelatedModel> getRelationQuery()

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

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

TRelatedModel>

TRelatedModel> getQuery()

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

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

TRelatedModel>

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

TDeclaringModel getParent()

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

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

TDeclaringModel

string getQualifiedParentKeyName()

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

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

string

TRelatedModel getRelated()

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

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

TRelatedModel

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|null $query = null)

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

Параметры

string $whereIn
string $key
array $modelKeys
Builder|null $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)

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

Параметры

array $map
bool $merge

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

array

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

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

Параметры

array|null $map
bool $merge

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

array

static protected array|null buildMorphMapFromModels(array|null $models = null)

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

Параметры

array|null $models

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

array|null

static string|null getMorphedModel(string $alias)

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

Параметры

string $alias

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

string|null

static int|string getMorphAlias(string $className)

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

Параметры

string $className

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

int|string

void __clone()

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

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

void

protected mixed getDictionaryKey(mixed $attribute)

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

Параметры

mixed $attribute

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

mixed

Исключения

InvalidArgumentException

TRelatedModel make(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel> makeMany(iterable $records)

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

Параметры

iterable $records

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

TRelatedModel>

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

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

Параметры

array $models
Collection $results
string $relation

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

TDeclaringModel>

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

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

Параметры

array $models
Collection $results
string $relation

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

TDeclaringModel>

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

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

Параметры

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

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

TDeclaringModel>

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

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

Параметры

array $dictionary
string $key
string $type

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

mixed

protected TRelatedModel>[] buildDictionary(Collection $results)

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

Параметры

Collection $results

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

TRelatedModel>[]

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

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

Параметры

mixed $id
array $columns

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

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

Параметры

array $attributes
array $values

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

TRelatedModel

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

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

Параметры

array $attributes
array $values

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

TRelatedModel

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

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

Параметры

array $attributes
array $values

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

TRelatedModel

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

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

Параметры

array $attributes
array $values

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

TRelatedModel

TRelatedModel|false save(Model $model)

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

Параметры

Model $model

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

TRelatedModel|false

TRelatedModel|false saveQuietly(Model $model)

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

Параметры

Model $model

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

TRelatedModel|false

TRelatedModel> saveMany(TRelatedModel> $models)

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

Параметры

TRelatedModel> $models

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

TRelatedModel>

TRelatedModel> saveManyQuietly(TRelatedModel> $models)

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

Параметры

TRelatedModel> $models

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

TRelatedModel>

TRelatedModel create(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel createQuietly(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel forceCreate(array $attributes = [])

Описание отсутствует

Параметры

array $attributes

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

TRelatedModel

TRelatedModel forceCreateQuietly(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel> createMany(iterable $records)

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

Параметры

iterable $records

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

TRelatedModel>

TRelatedModel> createManyQuietly(iterable $records)

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

Параметры

iterable $records

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

TRelatedModel>

protected void setForeignAttributesForCreate(Model $model)

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

Параметры

Model $model

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

void

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

TRelatedModel>

$this take(int $value)

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

Параметры

int $value

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

$this

$this limit(int $value)

Установить значение «limit» запроса.

Параметры

int $value

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

$this

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

TDeclaringModel> one()

Преобразовать отношение в отношение «морф один».

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

TDeclaringModel>

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

Spec-Zone.ru

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