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 |
| protected bool | $eagerKeysWereEmpty | Указывает, должна ли неявно возвращаться пустая коллекция при жадной загрузке отношения. | 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)
Выбросить исключение bad method call для заданного метода. | 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. | 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 = ['*'])
Выполнить запрос как операцию «выбор». | 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()
Получить имя столбца «обновлено в» для связанной модели. | из Отношения |
| пустое значение | whereInEager(строка $whereIn, строка $key, массив $modelKeys, Построитель $query = null)
Добавить ограничение whereIn для загрузки заданного набора ключей моделей. | из Отношения |
| строка | whereInMethod(Модель $model, строка $key)
Получить имя метода «where in» для загрузки с помощью eager loading. | из Отношения |
| статический 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)
Получить модель, связанную с пользовательским полиморфным типом. | из Отношения |
| пустое значение | __clone()
Принудительно клонировать базовый запрос-построитель при клонировании. | из Отношения |
| смешанный тип | getDictionaryKey(смешанный тип $attribute)
Получить атрибут-ключ словаря, при необходимости приведение его к строке. | из Взаимодействие со словарем |
| Модель | make(массив $attributes = [])
Создать и вернуть несохранённую инстанцию связанной модели. | из ОдинК одномуИлиНесколькоК одному |
| Коллекция | makeMany(итерируемый $records)
Создать и вернуть несохранённые инстанции связанных моделей. | из ОдинК одномуИлиНесколькоК одному |
| массив | matchOne(массив $models, Коллекция $results, строка $relation)
Сопоставить загруженные с eager loading результаты с их единственными родителями. | из ОдинК одномуИлиНесколькоК одному |
| массив | matchMany(массив $models, Коллекция $results, строка $relation)
Сопоставить загруженные с eager loading результаты с их множественными родителями. | из ОдинК одномуИлиНесколькоК одному |
| массив | matchOneOrMany(массив $models, Коллекция $results, строка $relation, строка $type)
Сопоставить загруженные с eager loading результаты с их множественными родителями. | из ОдинК одномуИлиНесколькоК одному |
| смешанный тип | getRelationValue(массив $dictionary, строка $key, строка $type)
Получить значение отношения по типу «один к одному» или «многие ко многим». | из ОдинК одномуИлиНесколькоК одному |
| массив | buildDictionary(Коллекция $results)
Создать словарь моделей, индексированный по внешнему ключу отношения. | из ОдинК одномуИлиНесколькоК одному |
| Коллекция|Модель | findOrNew(смешанный тип $id, массив $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр связанной модели. | из ОдинК одномуИлиНесколькоК одному |
| Модель | firstOrNew(массив $attributes = [], массив $values = [])
Получить первую запись, соответствующую атрибутам, или создать её. | из ОдинК одномуИлиНесколькоК одному |
| Модель | firstOrCreate(массив $attributes = [], массив $values = [])
Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её. | из ОдинК одномуИлиНесколькоК одному |
| Модель | createOrFirst(массив $attributes = [], массив $values = [])
Попытка создания записи. Если происходит нарушение уникальности, то поиск соответствующей записи. | из ОдинК одномуИлиНесколькоК одному |
| Модель | updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | из HasOneOrMany |
| Модель|false | save(Модель $model)
Присоединить экземпляр модели к родительской модели. | из HasOneOrMany |
| Модель|false | saveQuietly(Модель $model)
Присоединить экземпляр модели к родительской модели без срабатывания событий. | из HasOneOrMany |
| iterable | saveMany(iterable $models)
Присоединить коллекцию моделей к родительскому экземпляру. | из HasOneOrMany |
| iterable | saveManyQuietly(iterable $models)
Присоединить коллекцию моделей к родительскому экземпляру без срабатывания событий у родительской модели. | из HasOneOrMany |
| Модель | create(array $attributes = [])
Создать новый экземпляр связанной модели. | из HasOneOrMany |
| Модель | createQuietly(array $attributes = [])
Создать новый экземпляр связанной модели без срабатывания событий у родительской модели. | из HasOneOrMany |
| Модель | forceCreate(array $attributes = [])
Создать новый экземпляр связанной модели. Разрешить масс-назначение. | из MorphOneOrMany |
| Модель | forceCreateQuietly(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)
Добавить ограничения для внутреннего подзапроса объединения для отношений 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)
Укажите, что отношение — это самый старый единственный результат более сложного отношения один-ко-многим. | из CanBeOneOfMany |
| string | getDefaultOneOfManyJoinAlias(string $relation)
Получить стандартный псевдоним для условия внутреннего соединения один-ко-многим. | из CanBeOneOfMany |
| Builder | newOneOfManySubQuery(string|array $groupBy, string[]|null $columns = 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)
Выбросить исключение BadMethodCall для данного метода.
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 = ['*'])
Выполнить запрос в виде оператора "select".
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()
Получить имя столбца "created at".
string updatedAt()
Получить имя столбца "updated at".
string relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder $query = null)
Добавить ограничение whereIn для загрузки заданного набора ключей моделей.
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, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их родительскими сущностями.
array matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их родительскими сущностями во множественном числе.
protected array matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты с их родительскими сущностями во множественном числе.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу «один» или «многие».
protected array buildDictionary(Коллекция $results)
Создать словарь модели, индексированный по внешнему ключу связи.
Коллекция|Модель findOrNew(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или вернуть новую сущность связанной модели.
Модель firstOrNew(array $attributes = [], array $values = [])
Получить первую запись связанной модели, соответствующую атрибутам, или создать её.
Модель firstOrCreate(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её.
Модель createOrFirst(array $attributes = [], array $values = [])
Попытаться создать запись. Если произойдёт нарушение уникального ограничения, попытаться найти соответствующую запись.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Модель|false saveQuietly(Модель $model)
Присоединить экземпляр модели к родительской модели без вызова событий.
iterable saveMany(iterable $models)
Прикрепить коллекцию моделей к родительскому экземпляру.
iterable saveManyQuietly(iterable $models)
Прикрепить коллекцию моделей к родительскому экземпляру без повышения каких-либо событий для родительской модели.
Модель create(array $attributes = [])
Создать новый экземпляр связанной модели.
Модель createQuietly(array $attributes = [])
Создать новый экземпляр связанной модели без повышения каких-либо событий для родительской модели.
Модель forceCreate(array $attributes = [])
Создать новый экземпляр связанной модели. Разрешить массовое присваивание.
Модель forceCreateQuietly(array $attributes = [])
Создать новый экземпляр связанной модели с массовым присваиванием без повышения событий модели.
Коллекция createMany(iterable $records)
Создать коллекцию новых экземпляров связанной модели.
Коллекция createManyQuietly(iterable $records)
Создать коллекцию новых экземпляров связанной модели без повышения каких-либо событий для родительской модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний ID и тип для создания связанной модели.
Билдер 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(JoinClause $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 $columns = 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(Модель|null $model)
Определить, является ли модель связанной моделью взаимосвязи.
bool isNot(Модель|null $model)
Определить, не является ли модель связанной моделью взаимосвязи.
protected mixed getRelatedKeyFrom(Модель $model)
Получить значение внешнего ключа модели.
protected bool compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить родительский ключ и связанный ключ.
$this withDefault(Closure|array|bool $callback = true)
Возвращает новый экземпляр модели в случае, если отношение не существует.
protected Модель|null getDefaultFor(Модель $parent)
Получить значение по умолчанию для этого отношения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/10.x/Illuminate/Database/Eloquent/Relations/MorphOne.html