Spec-Zone.ru › Laravel 11

MorphOneOrMany

абстрактный класс MorphOneOrMany расширяет HasOneOrMany (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

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

защищённый string $morphClass

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

Методы

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)

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

static mixed noConstraints(Closure $callback)

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

from Relation
void addConstraints()

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

void addEagerConstraints(array $models)

Без описания

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

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

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

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

from Relation
TResult getResults()

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

from Relation
TRelatedModel> getEager()

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

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

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

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

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

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

Без описания

string getRelationCountHash(bool $incrementJoinCount = true)

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

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

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

from Relation
TRelatedModel> getRelationQuery()

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

from Relation
TRelatedModel> getQuery()

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

from Relation
Builder getBaseQuery()

Получить базовый объект Query Builder, управляющий Eloquent builder.

from Relation
Builder toBase()

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

from Relation
TDeclaringModel getParent()

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

from Relation
string getQualifiedParentKeyName()

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

из HasOneOrMany
TRelatedModel getRelated()

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

из Relation
string createdAt()

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

из Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

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

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

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

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

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

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

из Relation
static array|null buildMorphMapFromModels(array|null $models = null)

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

из Relation
static string|null getMorphedModel(string $alias)

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

из Relation
static int|string getMorphAlias(string $className)

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

из Relation
void __clone()

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

из Relation
mixed getDictionaryKey(mixed $attribute)

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

из InteractsWithDictionary
TRelatedModel make(array $attributes = [])

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

из HasOneOrMany
TRelatedModel> makeMany(iterable $records)

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

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

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

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

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

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

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

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

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

из HasOneOrMany
TRelatedModel>[] buildDictionary(Collection $results)

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

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

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

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

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

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

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

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

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

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

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

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

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

из HasOneOrMany
TRelatedModel|false saveQuietly(Модель $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)

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

TRelatedModel> getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $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()

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

string getMorphType()

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

string getMorphClass()

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

Подробности

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
END_OF_DOCUMENT_MARKER

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)

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

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

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

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

Parameters

array $models
string $relation

Return Value

TDeclaringModel>

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

TDeclaringModel>

abstract TResult getResults()

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

Return Value

TResult

TRelatedModel> getEager()

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

Return Value

TRelatedModel>

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

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

Parameters

array|string $columns

Return Value

TRelatedModel

Exceptions

TRelatedModel>
MultipleRecordsFoundException

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

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

Parameters

array $columns

Return Value

TRelatedModel>

void touch()

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

Return Value

void

int rawUpdate(array $attributes = [])

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

Parameters

array $attributes

Return Value

int

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

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

Parameters

Builder $query
Builder $parentQuery

Return Value

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 для загрузки указанного набора ключей моделей.

Параметры

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

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

Spec-Zone.ru

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