HasOne
класс HasOne расширяет HasOneOrMany и реализует SupportsPartialRelations (View source)
Свойства
| ComparesRelatedModels | |
| CanBeOneOfMany | |
| SupportsDefaultModels | |
| InteractsWithDictionary | |
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый TRelatedModel> | $query | Экземпляр Eloquent-строителя запросов. | из Relation |
| защищённый TDeclaringModel | $parent | Экземпляр родительской модели. | из Relation |
| защищённый TRelatedModel | $related | Экземпляр связанной модели. | из Relation |
| защищённый bool | $eagerKeysWereEmpty | Указывает, должна ли связанная сущность неявно возвращать пустой набор при ленивой загрузке. | из Relation |
| статический защищённый bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами морфизма в базе данных. | из Relation |
| статический защищённый bool | $requireMorphMap | Предотвращает морфированные отношения без карты морфизма. | из Relation |
| статический защищённый int | $selfJoinCount | Количество самосоединений. | из Relation |
| защищённый string | $foreignKey | Внешний ключ родительской модели. | из HasOneOrMany |
| защищённый string | $localKey | Локальный ключ родительской модели. | из HasOneOrMany |
| защищённый bool | $isOneOfMany | Определяет, является ли отношение "один-ко-многим". | из CanBeOneOfMany |
| защищённый string | $relationName | Имя отношения. | из CanBeOneOfMany |
| защищённый | $oneOfManySubQuery | Экземпляр подзапроса для соединения "один-ко-многим". | из CanBeOneOfMany |
| защищённый Closure|массив|bool | $withDefault | Указывает, использовать ли экземпляр по умолчанию. | из 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 $foreignKey, string $localKey)
Создать новый экземпляр отношения "один к одному" или "один ко многим". | from HasOneOrMany |
| static mixed | noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений на отношение. | from Relation |
| void | addConstraints()
Установить базовые ограничения на запросе отношения. | from HasOneOrMany |
| void | addEagerConstraints(array $models) Нет описания | from HasOneOrMany |
| TDeclaringModel> | initRelation(array $models, string $relation) Нет описания | |
| TDeclaringModel> | match(array $models, Collection $results, string $relation) Нет описания | |
| TResult | getResults() Нет описания | |
| TRelatedModel> | getEager()
Получить отношение для ленивой загрузки. | from Relation |
| TRelatedModel | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись. | from Relation |
| TRelatedModel> | get(array $columns = ['*'])
Выполнить запрос в качестве оператора «select». | from Relation |
| void | touch()
Обновить все связанные модели для отношения. | from Relation |
| int | rawUpdate(array $attributes = [])
Выполнить сырое обновление на основе базового запроса. | from Relation |
| TRelatedModel> | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета существования отношения. | from Relation |
| TRelatedModel> | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Нет описания | |
| string | getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш таблицы соединения отношения. | from Relation |
| array<int,int|string> | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | from Relation |
| getRelationQuery()
Получить конструктор запроса, который будет содержать ограничения отношения. | from CanBeOneOfMany | |
| TRelatedModel> | getQuery()
Получить базовый запрос для отношения. | from Relation |
| Builder | getBaseQuery()
Получить базовый конструктор запроса, управляющий конструктором Eloquent. | from Relation |
| Builder | toBase()
Получить базовый экземпляр конструктора запроса. | from Relation |
| TDeclaringModel | getParent()
Получить родительскую модель отношения. | from 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» для загрузки «eager». | из Relation |
| static void | requireMorphMap(bool $requireMorphMap = true)
Запретить использование полиморфных отношений без отображения моделей. | из Relation |
| static bool | requiresMorphMap()
Определить, требуют ли полиморфные отношения явного отображения модели. | из Relation |
| static array | enforceMorphMap(array $map, bool $merge = true)
Определить отображение «morph» для полиморфных отношений и потребовать явного отображения всех моделей с морфизмом. | из Relation |
| static array | morphMap(array|null $map = null, bool $merge = true)
Установить или получить отображение «morph» для полиморфных отношений. | из Relation |
| static array|null | buildMorphMapFromModels(array|null $models = null)
Создаёт таблично-индексированный массив из имён классов моделей. | из Relation |
| static string|null | getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| static int|string | getMorphAlias(string $className)
Получить псевдоним, связанный с пользовательским полиморфным классом. | из Relation |
| void | __clone()
Вызвать клонирование базового билдера запросов при клонировании. | из Relation |
| mixed | getDictionaryKey(mixed $attribute)
Получить атрибут ключа словаря — при необходимости преобразовать его в строку. | из InteractsWithDictionary |
| TRelatedModel | make(array $attributes = [])
Создать и вернуть несохранённый экземпляр связанной модели. | из HasOneOrMany |
| TRelatedModel> | makeMany(iterable $records)
Создать и вернуть несохранённые экземпляры связанных моделей. | из HasOneOrMany |
| TDeclaringModel> | matchOne(array $models, Collection $results, string $relation)
Сопоставить загруженные «eager» результаты с их единственными родителями. | из HasOneOrMany |
| TDeclaringModel> | matchMany(array $models, Collection $results, string $relation)
Сопоставить загруженные «eager» результаты с их множественными родителями. | из HasOneOrMany |
| TDeclaringModel> | matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставить загруженные «eager» результаты с их множественными родителями. | из HasOneOrMany |
| mixed | getRelationValue(array $dictionary, string $key, string $type)
Получить значение отношения по типу «один» или «многие». | из HasOneOrMany |
| TRelatedModel>[] | buildDictionary(Collection $results)
Создаёт словарь моделей, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| findOrNew(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр связанной модели. | из HasOneOrMany | |
| TRelatedModel | firstOrNew(array $attributes = [], array $values = [])
Получить первую связанную модель, соответствующую атрибутам, или создать её. | из HasOneOrMany |
| TRelatedModel | firstOrCreate(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её. | из HasOneOrMany |
| TRelatedModel | createOrFirst(array $attributes = [], array $values = [])
Попытка создать запись. Если возникает нарушение уникального ограничения, попытаться найти соответствующую запись. | из HasOneOrMany |
| TRelatedModel | updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | из HasOneOrMany |
| TRelatedModel|false | save(Model $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 HasOneOrMany |
| TRelatedModel | forceCreateQuietly(array $attributes = [])
Создать новый экземпляр связанной модели с массовым назначением без срабатывания событий модели. | from HasOneOrMany |
| TRelatedModel> | createMany(iterable $records)
Создать коллекцию новых экземпляров связанной модели. | from HasOneOrMany |
| TRelatedModel> | createManyQuietly(iterable $records)
Создать коллекцию новых экземпляров связанной модели без срабатывания событий родительской модели. | from HasOneOrMany |
| void | setForeignAttributesForCreate(Model $model)
Установить внешний идентификатор для создания связанной модели. | from HasOneOrMany |
| 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 |
| bool | is(Model|null $model)
Определить, является ли модель связанным экземпляром отношения. | from ComparesRelatedModels |
| bool | isNot(Model|null $model)
Определить, не является ли модель связанным экземпляром отношения. | from ComparesRelatedModels |
| int|string | getRelatedKeyFrom(Model $model)
Получить значение внешнего ключа модели. | |
| bool | compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить ключ родителя с ключом связанного элемента. | from ComparesRelatedModels |
| void | addOneOfManySubQueryConstraints(Builder $query, string|null $column = null, string|null $aggregate = null)
Добавить ограничения для подзапроса inner join для отношений one-of-many. | |
| array|string | getOneOfManySubQuerySelectColumns()
Получить столбцы, которые должны быть выбраны подзапросом one-of-many. | |
| void | addOneOfManyJoinSubQueryConstraints(JoinClause $join)
Добавить ограничения запроса join для отношений one-of-many. | |
| $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)
Получить стандартный псевдоним для условия внутреннего соединения один ко многим. | from CanBeOneOfMany |
| newOneOfManySubQuery(string|array $groupBy, string[]|null $columns = null, string|null $aggregate = null)
Получить новый запрос для связанной модели, сгруппировав запрос по указанному столбцу, часто — внешнему ключу отношения. | from CanBeOneOfMany | |
| void | addOneOfManyJoinSubQuery(Builder $parent, Builder $subQuery, string[] $on)
Добавить подзапрос соединения к заданному запросу по заданному столбцу и внешнему ключу отношения. | from CanBeOneOfMany |
| void | mergeOneOfManyJoinsTo(Builder $query)
Объединить соединения запроса отношения с заданным билдером запросов. | from CanBeOneOfMany |
| getOneOfManySubQuery()
Получить экземпляр билдера подзапроса внутреннего соединения один ко многим. | from CanBeOneOfMany | |
| string | qualifySubSelectColumn(string $column)
Получить квалифицированное имя столбца для отношения один ко многим, используя псевдоним подзапроса соединения. | from CanBeOneOfMany |
| string | qualifyRelatedColumn(string $column)
Квалифицировать связанный столбец, используя имя связанной таблицы, если он не квалифицирован. | from CanBeOneOfMany |
| string | guessRelationship()
Угадать имя отношения «один к одному» по стеку вызовов. | from CanBeOneOfMany |
| bool | isOneOfMany()
Определить, является ли отношение отношением один ко многим. | from CanBeOneOfMany |
| string | getRelationName()
Получить имя отношения. | from CanBeOneOfMany |
| TRelatedModel | newRelatedInstanceFor(Model $parent)
Создать новый связанный экземпляр для заданной модели. | |
| $this | withDefault(Closure|array|bool $callback = true)
Возвращает новую модель в случае, если отношение отсутствует. | from SupportsDefaultModels |
| Model|null | getDefaultFor(Model $parent)
Получить значение по умолчанию для этого отношения. | from SupportsDefaultModels |
Details
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)
Выбросить исключение BadMethodCallException для заданного метода.
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 $foreignKey, 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 = ['*'])
Выполнить запрос как операцию «выбрать».
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 loading.
static void requireMorphMap(bool $requireMorphMap = true)
Запретить использование полиморфных связей без сопоставления моделей.
static bool requiresMorphMap()
Определить, требуют ли полиморфные связи явного сопоставления моделей.
static array enforceMorphMap(array $map, bool $merge = true)
Определить сопоставление morph для полиморфных связей и потребовать явного сопоставления всех моделей, связанных с morphed.
static array morphMap(array|null $map = null, bool $merge = true)
Установить или получить сопоставление morph для полиморфных связей.
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, Коллекция $results, string $relation)
Сопоставьте загруженные с жадностью результаты с их единственным родителем.
TDeclaringModel> matchMany(array $models, Коллекция $results, string $relation)
Сопоставьте загруженные с жадностью результаты с их многими родителями.
protected TDeclaringModel> matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставьте загруженные с жадностью результаты с их многими родителями.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получите значение связи по типу один или многие.
protected TRelatedModel>[] buildDictionary(Коллекция $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)
Прикрепите экземпляр модели к родительской модели.
TRelatedModel|false saveQuietly(Модель $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)
Установить внешний ID для создания связанной модели.
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()
Получить локальный ключ для отношения.
bool is(Model|null $model)
Определить, является ли модель связанным экземпляром отношения.
bool isNot(Model|null $model)
Определить, не является ли модель связанным экземпляром отношения.
protected int|string getRelatedKeyFrom(Model $model)
Получить значение внешнего ключа модели.
protected bool compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить родительский ключ со связанным ключом.
void addOneOfManySubQueryConstraints(Builder $query, string|null $column = null, string|null $aggregate = null)
Добавить ограничения для подзапроса inner join для одного из многих отношений.
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)
Получить стандартный псевдоним для фрагмента вложенного INNER JOIN «один ко многим».
protected newOneOfManySubQuery(string|array $groupBy, string[]|null $columns = null, string|null $aggregate = null)
Получить новый запрос для связанной модели, сгруппировав запрос по заданному столбцу, часто внешнему ключу отношения.
protected void addOneOfManyJoinSubQuery(Builder $parent, Builder $subQuery, string[] $on)
Добавить вложенный запрос INNER JOIN к заданному запросу по заданному столбцу и внешнему ключу отношения.
protected void mergeOneOfManyJoinsTo(Builder $query)
Объединить запросы по отношениям «один ко многим» в заданный билдер запроса.
getOneOfManySubQuery()
Получить экземпляр билдера вложенного подзапроса INNER JOIN «один ко многим».
string qualifySubSelectColumn(string $column)
Получить квалифицированное имя столбца для отношения «один ко многим» с использованием псевдонима подзапроса INNER JOIN.
protected string qualifyRelatedColumn(string $column)
Квалифицировать связанный столбец с использованием имени таблицы связанной модели, если она ещё не квалифицирована.
protected string guessRelationship()
Предсказать имя отношения «один ко одному» через стек вызовов.
bool isOneOfMany()
Определить, является ли отношение отношением «один ко многим».
string getRelationName()
Получить имя отношения.
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/HasOne.html