MorphOne
class MorphOne extends MorphOneOrMany implements SupportsPartialRelations (View source)
Свойства
| CanBeOneOfMany | |
| ComparesRelatedModels | |
| SupportsDefaultModels | |
| InteractsWithDictionary | |
| ForwardsCalls | |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | from Macroable |
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | from Relation |
| protected Model | $parent | Экземпляр родительской модели. | from Relation |
| protected Model | $related | Экземпляр связанной модели. | from Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | from Relation |
| static array | $morphMap | Массив для сопоставления имён классов с их именами морфирования в базе данных. | from Relation |
| static protected bool | $requireMorphMap | Препятствует морф отношениям без карты морфирования. | from Relation |
| static protected int | $selfJoinCount | Количество самосоединений. | from Relation |
| protected string | $foreignKey | Внешний ключ родительской модели. | from HasOneOrMany |
| protected string | $localKey | Локальный ключ родительской модели. | from HasOneOrMany |
| protected string | $morphType | Тип внешнего ключа для отношения. | from MorphOneOrMany |
| protected string | $morphClass | Имя класса родительской модели. | from MorphOneOrMany |
| protected bool | $isOneOfMany | Определяет, является ли отношение один-ко-многим. | from CanBeOneOfMany |
| protected string | $relationName | Название отношения. | from CanBeOneOfMany |
| protected Builder|null | $oneOfManySubQuery | Экземпляр билдера подзапроса для объединения один-ко-многим. | from CanBeOneOfMany |
| protected Closure|array|bool | $withDefault | Указывает, использовать ли экземпляр модели по умолчанию. | from SupportsDefaultModels |
Методы
| 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 or many. | 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 = ['*'])
Получить запрос отношения. | |
| string | getRelationCountHash(bool $incrementJoinCount = true)
Получить хэш таблицы соединения отношений. | from Relation |
| array | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | from Relation |
| Builder | getRelationQuery()
Получить построитель запросов, который будет содержать ограничения отношения. | from CanBeOneOfMany |
| 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)
Установить внешний ID и тип для создания связанной модели. | из MorphOneOrMany |
| Билдер | getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на том же таблице. | из HasOneOrMany |
| string | getExistenceCompareKey()
Получить ключ для сравнения с ключом родительского объекта в запросе "has". | из HasOneOrMany |
| mixed | getParentKey()
Получить значение ключа родительской модели. | из ComparesRelatedModels |
| string | getForeignKeyName()
Получить простой внешний ключ. | из HasOneOrMany |
| string | getQualifiedForeignKeyName()
Получить внешний ключ для отношения. | из HasOneOrMany |
| string | getLocalKeyName()
Получить локальный ключ для отношения. | из HasOneOrMany |
| string | getQualifiedMorphType()
Получить имя внешнего ключа "type". | из MorphOneOrMany |
| string | getMorphType()
Получить простое имя типа морфирования без таблицы. | из MorphOneOrMany |
| string | getMorphClass()
Получить имя класса родительской модели. | из MorphOneOrMany |
| void | addOneOfManySubQueryConstraints(Билдер $query, string|null $column = null, string|null $aggregate = null)
Добавить ограничения для вложенного запроса INNER JOIN для отношений one-to-many. | |
| array|string | getOneOfManySubQuerySelectColumns()
Получить столбцы, которые должны быть выбраны подзапросом one-to-many. | |
| void | addOneOfManyJoinSubQueryConstraints(JoinClause $join)
Добавить ограничения для запроса соединения one-to-many. | |
| $this | ofMany(string|array|null $column = 'id', string|Closure|null $aggregate = 'MAX', string|null $relation = null)
Указать, что отношение является единственным результатом более широкого отношения one-to-many. | из CanBeOneOfMany |
| $this | latestOfMany(string|array|null $column = 'id', string|null $relation = null)
Указать, что отношение является последним единственным результатом более широкого отношения one-to-many. | из CanBeOneOfMany |
| $this | oldestOfMany(string|array|null $column = 'id', string|null $relation = null)
Указать, что отношение является старейшим единственным результатом более широкого отношения one-to-many. | из CanBeOneOfMany |
| string | getDefaultOneOfManyJoinAlias(string $relation)
Получить стандартный псевдоним для one-to-many внутреннего условия соединения. | из CanBeOneOfMany |
| Билдер | newOneOfManySubQuery(string|array $groupBy, string|null $column = null, string|null $aggregate = null)
Получить новый запрос для связанной модели, группируя запрос по указанному столбцу, часто внешнему ключу отношения. | из CanBeOneOfMany |
| void | addOneOfManyJoinSubQuery(Builder $parent, Builder $subQuery, string $on)
Добавить подзапрос присоединения к заданному запросу по заданному столбцу и внешнему ключу отношения. | из CanBeOneOfMany |
| void | mergeOneOfManyJoinsTo(Builder $query)
Объединить присоединения запроса отношения к заданному билдеру запросов. | из CanBeOneOfMany |
| Builder|void | getOneOfManySubQuery()
Получить экземпляр билдера подзапроса внутреннего соединения один-ко-многим. | из CanBeOneOfMany |
| string | qualifySubSelectColumn(string $column)
Получить квалифицированное имя столбца для отношения один-ко-многим, используя псевдоним подзапроса соединения. | из CanBeOneOfMany |
| string | qualifyRelatedColumn(string $column)
Квалифицировать связанный столбец, используя имя связанной таблицы, если он не квалифицирован. | из CanBeOneOfMany |
| string | guessRelationship()
Угадать имя отношения «один-к-одному» с помощью стека вызовов. | из CanBeOneOfMany |
| bool | isOneOfMany()
Определить, является ли отношение отношением «один-ко-многим». | из CanBeOneOfMany |
| string | getRelationName()
Получить имя отношения. | из CanBeOneOfMany |
| bool | is(Model|null $model)
Определить, является ли модель связанным экземпляром отношения. | из ComparesRelatedModels |
| bool | isNot(Model|null $model)
Определить, не является ли модель связанным экземпляром отношения. | из ComparesRelatedModels |
| mixed | getRelatedKeyFrom(Model $model)
Получить значение внешнего ключа модели. | |
| bool | compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить родительский ключ со связанным ключом. | из ComparesRelatedModels |
| Model | newRelatedInstanceFor(Model $parent)
Создать новый связанный экземпляр для заданной модели. | |
| $this | withDefault(Closure|array|bool $callback = true)
Возвратить новый экземпляр модели в случае, если отношение не существует. | из SupportsDefaultModels |
| Model|null | getDefaultFor(Model $parent)
Получить значение по умолчанию для этого отношения. | из SupportsDefaultModels |
Подробности
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода заданному объекту.
protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода заданному объекту, вернув $this, если перенаправленный вызов вернул себя.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение вызова несуществующего метода для заданного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательский макрос.
static void mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс.
static bool hasMacro(string $name)
Проверяет, зарегистрирован ли макрос.
static void flushMacros()
Очистить существующие макросы.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы к классу.
mixed __call(string $method, array $parameters)
Динамически обрабатывает вызовы к классу.
void __construct(Builder $query, Model $parent, string $type, string $id, string $localKey)
Создает новый экземпляр связи «один ко многим» или «многие ко многим».
static mixed noConstraints(Closure $callback)
Выполняет обратный вызов без ограничений на связи.
void addConstraints()
Устанавливает базовые ограничения запроса отношения.
void addEagerConstraints(array $models)
Устанавливает ограничения для отложенной загрузки связи.
array initRelation(array $models, string $relation)
Инициализирует отношение на наборе моделей.
array match(array $models, Collection $results, string $relation)
Сопоставляет загруженные результаты с их родительскими элементами.
mixed getResults()
Получает результаты отношения.
Collection getEager()
Получает отношение для отложенной загрузки.
Model sole(array|string $columns = ['*'])
Выполняет запрос и получает первый результат, если это единственная соответствующая запись.
Collection get(array $columns = ['*'])
Выполняет запрос как операцию «выбор».
void touch()
Обновляет все связанные модели для отношения.
int rawUpdate(array $attributes = [])
Выполняет прямое обновление по основному запросу.
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавляет ограничения для запроса подсчета существования отношения.
Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Получает запрос отношения.
string getRelationCountHash(bool $incrementJoinCount = true)
Получает хеш таблицы объединения отношения.
protected array getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
protected Builder getRelationQuery()
Получить объект запроса, который будет содержать ограничения для связи.
Builder getQuery()
Получить базовый запрос для связи.
Builder getBaseQuery()
Получить базовый объект запроса, управляющий объектом Eloquent запроса.
Builder toBase()
Получить экземпляр базового объекта запроса.
Модель getParent()
Получить родительскую модель связи.
string getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Модель getRelated()
Получить связанную модель связи.
string createdAt()
Получить имя столбца «создано в».
string updatedAt()
Получить имя столбца «обновлено в».
string relatedUpdatedAt()
Получить имя столбца «обновлено в» связанной модели.
protected string whereInMethod(Модель $model, string $key)
Получить имя метода «where in» для ленивой загрузки.
static void requireMorphMap(bool $requireMorphMap = true)
Запретить использование полиморфных связей без сопоставлений моделей.
static bool requiresMorphMap()
Определить, требуют ли полиморфные связи явного сопоставления моделей.
static array enforceMorphMap(array $map, bool $merge = true)
Определить карту сопоставления для полиморфных связей и потребовать, чтобы все модели, с которыми осуществляется морфинг, были явно сопоставлены.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить карту сопоставления для полиморфных связей.
static protected array|null buildMorphMapFromModels(array $models = null)
Создает таблично-ключевой массив из имен классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с типом пользовательского полиморфизма.
void __clone()
Принудительно клонировать базовый объект запроса при клонировании.
protected mixed getDictionaryKey(mixed $attribute)
Получить атрибут ключа словаря — привести его к строковому типу, если это необходимо.
Модель make(array $attributes = [])
Создать и вернуть незасохранённый экземпляр связанной модели.
Коллекция makeMany(iterable $records)
Создать и вернуть незасохранённые экземпляры связанных моделей.
array matchOne(array $models, Collection $results, string $relation)
Сопоставить загруженные в режиме жадной загрузки результаты с их единственным родителем.
array matchMany(array $models, Collection $results, string $relation)
Сопоставить загруженные в режиме жадной загрузки результаты с их множеством родителей.
protected array matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставить загруженные в режиме жадной загрузки результаты с их множеством родителей.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу один-ко-многим или многие-ко-многим.
protected array buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу связи.
Collection|Model findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели.
Model firstOrNew(array $attributes = [], array $values = [])
Получить первую связанную модель, соответствующую атрибутам, или создать её экземпляр.
Model firstOrCreate(array $attributes = [], array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Model updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Model|false saveQuietly(Model $model)
Присоединить экземпляр модели к родительской модели без срабатывания событий.
iterable saveMany(iterable $models)
Присоединить коллекцию моделей к родительскому экземпляру.
iterable saveManyQuietly(iterable $models)
Присоединить коллекцию моделей к родительскому экземпляру без срабатывания событий.
Model create(array $attributes = [])
Создать новый экземпляр связанной модели.
Model createQuietly(array $attributes = [])
Создать новый экземпляр связанной модели без срабатывания событий.
Model forceCreate(array $attributes = [])
Создать новый экземпляр связанной модели. Разрешить массовое назначение.
Коллекция createMany(iterable $records)
Создать Коллекцию новых экземпляров связанной модели.
Коллекция createManyQuietly(iterable $records)
Создать Коллекцию новых экземпляров связанной модели без повышения каких-либо событий для родительской модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор и тип для создания связанной модели.
Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношений на том же столе.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе «has».
abstract mixed getParentKey()
Получить значение ключа родительской модели.
string getForeignKeyName()
Получить простой внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для отношения.
string getLocalKeyName()
Получить локальный ключ для отношения.
string getQualifiedMorphType()
Получить имя внешнего ключа «тип».
string getMorphType()
Получить простое имя морфного типа без таблицы.
string getMorphClass()
Получить имя класса родительской модели.
void addOneOfManySubQueryConstraints(Билдер $query, string|null $column = null, string|null $aggregate = null)
Добавить ограничения для подзапроса внутреннего соединения для отношений «один из многих».
array|string getOneOfManySubQuerySelectColumns()
Получить столбцы, которые должны быть выбраны подзапросом «один из многих».
void addOneOfManyJoinSubQueryConstraints(ЗапросСоединения $join)
Добавить ограничения запроса соединения для отношений «один из многих».
$this ofMany(string|array|null $column = 'id', string|Closure|null $aggregate = 'MAX', string|null $relation = null)
Указать, что отношение является единственным результатом более широкого отношения «один ко многим».
$this latestOfMany(string|array|null $column = 'id', string|null $relation = null)
Указать, что отношение является последним одиночным результатом более широкого отношения «один ко многим».
$this oldestOfMany(string|array|null $column = 'id', string|null $relation = null)
Указать, что отношение является самым старым единственным результатом более широкого отношения «один ко многим».
protected string getDefaultOneOfManyJoinAlias(string $relation)
Получить стандартный псевдоним для предложения соединения вложенного «один из многих».
protected Builder newOneOfManySubQuery(string|array $groupBy, string|null $column = null, string|null $aggregate = null)
Получить новый запрос для связанной модели, сгруппировав запрос по заданному столбцу, часто являющемуся внешним ключом отношения.
protected void addOneOfManyJoinSubQuery(Builder $parent, Builder $subQuery, string $on)
Добавить подзапрос соединения к заданному запросу по заданному столбцу и внешнему ключу отношения.
protected void mergeOneOfManyJoinsTo(Builder $query)
Объединить соединения запроса отношения с заданным билдером запроса.
Builder|void getOneOfManySubQuery()
Получить экземпляр билдера подзапроса внутреннего соединения «один из многих».
string qualifySubSelectColumn(string $column)
Получить квалифицированное имя столбца для отношения «один из многих» с использованием псевдонима подзапроса соединения.
protected string qualifyRelatedColumn(string $column)
Квалифицировать связанный столбец с использованием имени связанной таблицы, если он еще не квалифицирован.
protected string guessRelationship()
Угадать имя отношения «один к одному» через обратный отслеживатель.
bool isOneOfMany()
Определить, является ли отношение отношением «один ко многим».
string getRelationName()
Получить имя отношения.
bool is(Model|null $model)
Определить, является ли модель связанным экземпляром отношения.
bool isNot(Model|null $model)
Определить, не является ли модель связанным экземпляром отношения.
protected mixed getRelatedKeyFrom(Model $model)
Получить значение внешнего ключа модели.
protected bool compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить родительский ключ с связанным ключом.
Model newRelatedInstanceFor(Model $parent)
Создать новый экземпляр связанной модели для заданной модели.
$this withDefault(Closure|array|bool $callback = true)
Возвращает новый экземпляр модели в случае отсутствия отношения.
protected Model|null getDefaultFor(Model $parent)
Получить значение по умолчанию для этого отношения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/9.x/Illuminate/Database/Eloquent/Relations/MorphOne.html