Spec-Zone.ru › Laravel 9

MorphOneOrMany

абстрактный класс MorphOneOrMany расширяет HasOneOrMany (View source)

Свойства

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

из Relation
статический защищённый булево значение $constraints

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

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

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

из Relation
статический защищённый булево значение $requireMorphMap

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

из Relation
статический защищённый целое число $selfJoinCount

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

из Relation
защищённый строка $foreignKey

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

из HasOneOrMany
защищённый строка $localKey

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

из HasOneOrMany
защищённый строка $morphType

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

защищённый строка $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)

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

static mixed noConstraints(Closure $callback)

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

from Relation
void addConstraints()

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

void addEagerConstraints(array $models)

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

array initRelation(array $models, string $relation)

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

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

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

from Relation
mixed getResults()

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

from Relation
Collection getEager()

Получение отношения для eager loading.

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

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

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

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

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

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

из ОдноКмногие
Модель getRelated()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

из ОдноКмногие
Коллекция makeMany(итерируемый $records)

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

из ОдноКмногие
массив matchOne(массив $models, Коллекция $results, строка $relation)

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

из ОдноКмногие
массив matchMany(массив $models, Коллекция $results, строка $relation)

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

из ОдноКмногие
массив matchOneOrMany(массив $models, Коллекция $results, строка $relation, строка $type)

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

из ОдноКмногие
смешанный getRelationValue(массив $dictionary, строка $key, строка $type)

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

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

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

из ОдноКмногие
Коллекция|Модель findOrNew(смешанный $id, массив $columns = ['*'])

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

из ОдноКмногие
Модель firstOrNew(массив $attributes = [], массив $values = [])

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

из ОдноКмногие
Модель firstOrCreate(массив $attributes = [], массив $values = [])

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

из ОдноКмногие
Модель updateOrCreate(массив $attributes, массив $values = [])

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

из ОдноКмногие
Модель|ложь save(Модель $model)

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

из ОдноКмногие
Модель|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 = [])

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

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

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

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

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

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

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

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

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

из HasOneOrMany
string getExistenceCompareKey()

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

из HasOneOrMany
mixed getParentKey()

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

из HasOneOrMany
string getForeignKeyName()

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

из HasOneOrMany
string getQualifiedForeignKeyName()

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

из HasOneOrMany
string getLocalKeyName()

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

из HasOneOrMany
string getQualifiedMorphType()

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

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

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
END_OF_DOCUMENT_MARKER

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)

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

Параметры

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

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

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

abstract mixed getResults()

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

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

mixed

Collection getEager()

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

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

Collection

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

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

Параметры

array|string $columns

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

Model

Исключения

Model>
MultipleRecordsFoundException

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

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

Параметры

array $columns

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

Collection

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
END_OF_DOCUMENT_MARKER

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

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

Параметры

array $models
string|null $key

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

array

protected Builder getRelationQuery()

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

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

Builder

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

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

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

Параметры

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, Collection $results, string $relation)

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

Parameters

array $models
Collection $results
string $relation

Return Value

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

Model|false saveQuietly(Model $model)

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

Parameters

Model $model

Return Value

Model|false

iterable saveMany(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

iterable saveManyQuietly(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

Model create(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model createQuietly(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model forceCreate(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

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

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

Параметры

iterable $records

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

Коллекция

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

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

Параметры

iterable $records

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

Коллекция

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

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

Параметры

Модель $model

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

void

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

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

Параметры

Билдер $query
Билдер $parentQuery
array|mixed $columns

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

Билдер

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/MorphOneOrMany.html

Spec-Zone.ru

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