MorphOne
class MorphOne extends MorphOneOrMany implements SupportsPartialRelations (View source)
Свойства
| CanBeOneOfMany | |
| ComparesRelatedModels | |
| SupportsDefaultModels | |
| InteractsWithDictionary | |
| ForwardsCalls | |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | from Macroable |
| protected TRelatedModel> | $query | Экземпляр Eloquent query builder. | from Relation |
| protected TDeclaringModel | $parent | Экземпляр родительской модели. | from Relation |
| protected TRelatedModel | $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 | $oneOfManySubQuery | Экземпляр query builder подзапроса для одного из многих внутреннего соединения. | from CanBeOneOfMany |
| protected Closure|array|bool | $withDefault | Указывает, нужно ли использовать экземпляр модели по умолчанию. | from SupportsDefaultModels |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода к заданному объекту. | из ForwardsCalls |
| mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода к заданному объекту, возвращая $this, если перенаправленный вызов вернул себя. | из ForwardsCalls |
| static void | throwBadMethodCallException(string $method)
Выбросить исключение плохого вызова метода для данного метода. | из ForwardsCalls |
| static void | macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро. | из Macroable |
| static void | mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс. | из Macroable |
| static bool | hasMacro(string $name)
Проверяет, зарегистрировано ли макро. | из Macroable |
| static void | flushMacros()
Очистить существующие макросы. | из Macroable |
| static mixed | __callStatic(string $method, array $parameters)
Динамически обрабатывать вызовы класса. | из Macroable |
| mixed | __call(string $method, array $parameters)
Динамически обрабатывать вызовы класса. | из Macroable |
| void | __construct(Builder $query, Model $parent, string $type, string $id, string $localKey)
Создать новый экземпляр связи "один ко многим" или "многие ко многим". | из MorphOneOrMany |
| static mixed | noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями на связи. | из Relation |
| void | addConstraints()
Установить базовые ограничения на запрос связи. | из MorphOneOrMany |
| void | addEagerConstraints(array $models) Нет описания | из MorphOneOrMany |
| TDeclaringModel> | initRelation(array $models, string $relation) Нет описания | |
| TDeclaringModel> | match(array $models, Collection $results, string $relation) Нет описания | |
| TResult | getResults() Нет описания | |
| TRelatedModel> | getEager()
Получить отношение для ленивой загрузки. | из Relation |
| TRelatedModel | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись. | из Relation |
| TRelatedModel> | get(array $columns = ['*'])
Выполнить запрос в качестве оператора «select». | из Relation |
| void | touch()
Обновить все связанные модели для связи. | из Relation |
| int | rawUpdate(array $attributes = [])
Выполнить сырое обновление против основного запроса. | из Relation |
| TRelatedModel> | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета отношений. | из Relation |
| TRelatedModel> | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Нет описания | |
| string | getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш таблицы соединения отношений. | из Relation |
| array<int,int|string> | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | из Relation |
| getRelationQuery()
Получить конструктор запроса, который будет содержать ограничения отношений. | из CanBeOneOfMany | |
| TRelatedModel> | getQuery()
Получить базовый запрос для связи. | из Relation |
| Builder | getBaseQuery()
Получить базовый конструктор запроса, управляющий конструктором Eloquent. | из Relation |
| Builder | toBase()
Получить экземпляр базового конструктора запроса. | из Relation |
| TDeclaringModel | getParent()
Получить родительскую модель связи. | из Relation |
| string | getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа. | из HasOneOrMany |
| TRelatedModel | getRelated()
Получить связанную модель отношения. | из Relation |
| string | createdAt()
Получить имя столбца "создано в". | из Relation |
| string | updatedAt()
Получить имя столбца "обновлено в". | из Relation |
| string | relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели. | из 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 map» для полиморфных отношений и потребовать, чтобы все модели с морфированием были явно сопоставлены. | из Relation |
| static array | morphMap(array|null $map = null, bool $merge = true)
Установить или получить сопоставление «morph map» для полиморфных отношений. | из 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)
Получить значение отношения по типу one или many. | из 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 $model)
Присоединить экземпляр модели к родительской модели. | from HasOneOrMany |
| TRelatedModel|false | saveQuietly(Model $model)
Присоединить экземпляр модели к родительской модели без срабатывания событий. | from HasOneOrMany |
| TRelatedModel> | saveMany(TRelatedModel> $models)
Присоединить коллекцию моделей к родительскому экземпляру. | from HasOneOrMany |
| TRelatedModel> | saveManyQuietly(TRelatedModel> $models)
Присоединить коллекцию моделей к родительскому экземпляру без срабатывания событий. | from HasOneOrMany |
| TRelatedModel | create(array $attributes = [])
Создать новый экземпляр связанной модели. | from HasOneOrMany |
| TRelatedModel | createQuietly(array $attributes = [])
Создать новый экземпляр связанной модели без срабатывания событий. | from HasOneOrMany |
| TRelatedModel | forceCreate(array $attributes = [])
Создать новый экземпляр связанной модели. Разрешить массовое назначение. | from MorphOneOrMany |
| TRelatedModel | forceCreateQuietly(array $attributes = [])
Создать новый экземпляр связанной модели с массовым назначением без срабатывания событий модели. | from HasOneOrMany |
| TRelatedModel> | createMany(iterable $records)
Создать коллекцию новых экземпляров связанной модели. | from HasOneOrMany |
| TRelatedModel> | createManyQuietly(iterable $records)
Создать коллекцию новых экземпляров связанной модели без срабатывания событий родительской модели. | from HasOneOrMany |
| void | setForeignAttributesForCreate(Model $model)
Установить внешний идентификатор и тип для создания связанной модели. | from MorphOneOrMany |
| TRelatedModel> | getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса на отношения на той же таблице. | from HasOneOrMany |
| $this | take(int $value)
Псевдоним для установки значения "limit" запроса. | from HasOneOrMany |
| $this | limit(int $value)
Установить значение "limit" запроса. | from HasOneOrMany |
| string | getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has". | from HasOneOrMany |
| mixed | getParentKey()
Получить значение ключа родительской модели. | from ComparesRelatedModels |
| string | getForeignKeyName()
Получить простой внешний ключ. | from HasOneOrMany |
| string | getQualifiedForeignKeyName()
Получить внешний ключ для отношения. | from HasOneOrMany |
| string | getLocalKeyName()
Получить локальный ключ для отношения. | from HasOneOrMany |
| string | getQualifiedMorphType()
Получить имя внешнего ключа "типа". | from MorphOneOrMany |
| string | getMorphType()
Получить имя простого типа морфинга без таблицы. | from MorphOneOrMany |
| string | getMorphClass()
Получить имя класса родительской модели. | from MorphOneOrMany |
| void | addOneOfManySubQueryConstraints(Builder $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)
Указать, что отношение — это единственный результат более сложного отношения "один ко многим". | from CanBeOneOfMany |
| $this | latestOfMany(string|array|null $column = 'id', string|null $relation = null)
Указать, что отношение — это самый последний единственный результат более сложного отношения "один ко многим". | from CanBeOneOfMany |
| $this | oldestOfMany(string|array|null $column = 'id', string|null $relation = null)
Указать, что отношение — это самый первый единственный результат более сложного отношения "один ко многим". | from CanBeOneOfMany |
| string | getDefaultOneOfManyJoinAlias(string $relation)
Получить значение по умолчанию для псевдонима внутреннего соединения «один из многих». | из CanBeOneOfMany |
| 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 |
| 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 |
| int|string | getRelatedKeyFrom(Model $model)
Получить значение внешнего ключа модели. | |
| bool | compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить родительский ключ со связанным ключом. | из ComparesRelatedModels |
| TRelatedModel | 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)
Без описания
TDeclaringModel> initRelation(array $models, string $relation)
Без описания
TDeclaringModel> match(array $models, Collection $results, string $relation)
Без описания
TResult getResults()
Без описания
TRelatedModel> getEager()
Получить отношение для ленивой загрузки.
TRelatedModel sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственный соответствующий элемент.
TRelatedModel> get(array $columns = ['*'])
Выполнить запрос как операцию "select".
void touch()
Обновить все связанные модели для отношения.
int rawUpdate(array $attributes = [])
Выполнить сырое обновление по базовому запросу.
TRelatedModel> getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета отношений.
TRelatedModel> getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Без описания
string getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш таблицы соединения для отношения.
protected array<int,int|string> getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
protected getRelationQuery()
Получить конструктор запроса, содержащий ограничения связи.
TRelatedModel> getQuery()
Получить базовый запрос для связи.
Builder getBaseQuery()
Получить базовый конструктор запроса, управляющий Eloquent конструктором запроса.
Builder toBase()
Получить экземпляр базового конструктора запроса.
TDeclaringModel getParent()
Получить родительскую модель связи.
string getQualifiedParentKeyName()
Получить полное имя родительского ключа.
TRelatedModel getRelated()
Получить связанную модель связи.
string createdAt()
Получить имя колонки «created at».
string updatedAt()
Получить имя колонки «updated at».
string relatedUpdatedAt()
Получить имя колонки «updated at» связанной модели.
protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null)
Добавить ограничение whereIn для загрузки заданного набора ключей моделей.
protected string whereInMethod(Model $model, string $key)
Получить имя метода «where in» для загрузки eager.
static void requireMorphMap(bool $requireMorphMap = true)
Предотвратить использование полиморфных связей без сопоставления моделей.
static bool requiresMorphMap()
Определить, требуют ли полиморфные связи явного сопоставления моделей.
static array enforceMorphMap(array $map, bool $merge = true)
Определить morph map для полиморфных связей и потребовать, чтобы все модели с morph были явно сопоставлены.
static array morphMap(array|null $map = null, bool $merge = true)
Установить или получить morph map для полиморфных связей.
static protected array|null buildMorphMapFromModels(array|null $models = null)
Создает массив, индексированный по таблицам, из имен классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
static int|string getMorphAlias(string $className)
Получить алиас, связанный с пользовательским классом полиморфной модели.
void __clone()
Вынудительное клонирование базового конструктора запроса при клонировании.
protected mixed getDictionaryKey(mixed $attribute)
Получить атрибут ключа словаря — при необходимости привести его к строке.
TRelatedModel make(array $attributes = [])
Создать и вернуть несохраненный экземпляр связанной модели.
TRelatedModel> makeMany(iterable $records)
Создайте и верните несохранённую инстанцию связанных моделей.
TDeclaringModel> matchOne(array $models, Collection $results, string $relation)
Сопоставьте загруженные с жадностью результаты с их единственными родителями.
TDeclaringModel> matchMany(array $models, Collection $results, string $relation)
Сопоставьте загруженные с жадностью результаты с их множественными родителями.
protected TDeclaringModel> matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставьте загруженные с жадностью результаты с их множественными родителями.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу один или много.
protected TRelatedModel>[] buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу связи.
findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели.
TRelatedModel firstOrNew(array $attributes = [], array $values = [])
Получить первую запись связанной модели, соответствующую атрибутам, или создать её экземпляр.
TRelatedModel firstOrCreate(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её.
TRelatedModel createOrFirst(array $attributes = [], array $values = [])
Попробовать создать запись. Если произойдёт нарушение уникальности, попытаться найти соответствующую запись.
TRelatedModel updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
TRelatedModel|false save(Model $model)
Прикрепить экземпляр модели к родительской модели.
TRelatedModel|false saveQuietly(Model $model)
Прикрепить экземпляр модели к родительской модели без повышения событий.
TRelatedModel> saveMany(TRelatedModel> $models)
Прикрепить коллекцию моделей к родительскому экземпляру.
TRelatedModel> saveManyQuietly(TRelatedModel> $models)
Прикрепить коллекцию моделей к родительскому экземпляру без повышения событий.
TRelatedModel create(array $attributes = [])
Создать новый экземпляр связанной модели.
TRelatedModel createQuietly(array $attributes = [])
Создать новый экземпляр связанной модели без повышения событий.
TRelatedModel forceCreate(array $attributes = [])
Создать новый экземпляр связанной модели. Разрешить массовое присваивание.
TRelatedModel forceCreateQuietly(array $attributes = [])
Создайте новый экземпляр связанной модели с массовым назначением без поднятия событий модели.
TRelatedModel> createMany(iterable $records)
Создайте коллекцию новых экземпляров связанной модели.
TRelatedModel> createManyQuietly(iterable $records)
Создайте коллекцию новых экземпляров связанной модели без поднятия событий родительской модели.
protected void setForeignAttributesForCreate(Model $model)
Установите внешний идентификатор и тип для создания связанной модели.
TRelatedModel> getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавьте ограничения для запроса отношения на одной и той же таблице.
$this take(int $value)
Псевдоним для установки значения «limit» запроса.
$this limit(int $value)
Установите значение «limit» запроса.
string getExistenceCompareKey()
Получить ключ для сравнения с ключом родительской модели в запросе «has».
abstract mixed getParentKey()
Получить значение ключа родительской модели.
string getForeignKeyName()
Получить простой внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для отношения.
string getLocalKeyName()
Получить локальный ключ для отношения.
string getQualifiedMorphType()
Получить имя внешнего ключа «тип».
string getMorphType()
Получить простое имя типа морфизма без таблицы.
string getMorphClass()
Получить имя класса родительской модели.
void addOneOfManySubQueryConstraints(Builder $query, string|null $column = null, string|null $aggregate = null)
Добавить ограничения для внутреннего запроса с подзапросом для одного из многих отношений.
array|string getOneOfManySubQuerySelectColumns()
Получить столбцы, которые должны быть выбраны подзапросом one of many.
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 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)
Объединить объединения запроса отношения с заданным создателем запроса.
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 int|string getRelatedKeyFrom(Model $model)
Получить значение внешнего ключа модели.
protected bool compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить родительский ключ со связанным ключом.
TRelatedModel 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/11.x/Illuminate/Database/Eloquent/Relations/MorphOne.html