Spec-Zone.ru › Laravel 8

HasOne

класс HasOne расширяет HasOneOrMany и реализует SupportsPartialRelations (Просмотреть исходный код)

Свойства

ComparesRelatedModels
CanBeOneOfMany
SupportsDefaultModels
InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

static protected array $macros

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

из Macroable
protected Builder $query

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

из Relation
protected Model $parent

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

из Relation
protected Model $related

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

из Relation
static protected bool $constraints

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

из Relation
static array $morphMap

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

из Relation
static protected bool $requireMorphMap

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

из Relation
static protected int $selfJoinCount

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

из Relation
protected string $foreignKey

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

из HasOneOrMany
protected string $localKey

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

из HasOneOrMany
protected bool $isOneOfMany

Определяет, является ли отношение одним из многих.

из CanBeOneOfMany
protected string $relationName

Имя отношения.

из CanBeOneOfMany
protected Builder|null $oneOfManySubQuery

Экземпляр билдера подзапроса для внутреннего соединения одного из многих.

из CanBeOneOfMany
protected Closure|array|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
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
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

from HasOneOrMany
Model getRelated()

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

from Relation
string createdAt()

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

from Relation
string updatedAt()

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

from Relation
string relatedUpdatedAt()

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

from Relation
string whereInMethod(Model $model, string $key)

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

from Relation
static void requireMorphMap(bool $requireMorphMap = true)

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

from Relation
static bool requiresMorphMap()

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

from Relation
static array enforceMorphMap(array $map, bool $merge = true)

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

from Relation
static array morphMap(array $map = null, bool $merge = true)

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

from Relation
static array|null buildMorphMapFromModels(array $models = null)

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

from Relation
static string|null getMorphedModel(string $alias)

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

from Relation
void __clone()

Вынужденное клонирование базового билдера запроса при клонировании.

from Relation
mixed getDictionaryKey(mixed $attribute)

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

from InteractsWithDictionary
Model make(array $attributes = [])

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

from HasOneOrMany
Collection makeMany(iterable $records)

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

from HasOneOrMany
array matchOne(array $models, Collection $results, string $relation)

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

from HasOneOrMany
array matchMany(array $models, Collection $results, string $relation)

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

from HasOneOrMany
array matchOneOrMany(array $models, Collection $results, string $relation, string $type)

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

from HasOneOrMany
mixed getRelationValue(array $dictionary, string $key, string $type)

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

from HasOneOrMany
array buildDictionary(Collection $results)

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

from HasOneOrMany
Collection|Model findOrNew(mixed $id, array $columns = ['*'])

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

from HasOneOrMany
Model firstOrNew(array $attributes = [], array $values = [])

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

from HasOneOrMany
Model firstOrCreate(array $attributes = [], array $values = [])

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

from HasOneOrMany
Model updateOrCreate(array $attributes, array $values = [])

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

from HasOneOrMany
Model|false save(Model $model)

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

from HasOneOrMany
iterable saveMany(iterable $models)

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

from HasOneOrMany
Модель create(array $attributes = [])

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

из HasOneOrMany
Модель forceCreate(array $attributes = [])

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

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

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

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

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

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

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

из HasOneOrMany
строка getExistenceCompareKey()

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

из HasOneOrMany
смешанный getParentKey()

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

из ComparesRelatedModels
строка getForeignKeyName()

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

из HasOneOrMany
строка getQualifiedForeignKeyName()

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

из HasOneOrMany
строка getLocalKeyName()

Получить локальный ключ для отношения.

из HasOneOrMany
булево is(Модель|null $model)

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

из ComparesRelatedModels
булево isNot(Модель|null $model)

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

из ComparesRelatedModels
смешанный getRelatedKeyFrom(Модель $model)

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

булево compareKeys(mixed $parentKey, mixed $relatedKey)

Сравнить ключ родителя с ключом связанного элемента.

из ComparesRelatedModels
void addOneOfManySubQueryConstraints(Билдер $query, string|null $column = null, string|null $aggregate = null)

Добавить ограничения для подзапроса внутреннего объединения для одного из многих отношений.

массив|строка getOneOfManySubQuerySelectColumns()

Получить столбцы, которые должны быть выбраны подзапросом «один из многих».

void addOneOfManyJoinSubQueryConstraints(JoinClause $join)

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

$this ofMany(string|array|null $column = 'id', string|Closure|null $aggregate = 'MAX', string|null $relation = null)

Указать, что отношение является единственным результатом более крупного отношения «один ко многим».

из CanBeOneOfMany
$this latestOfMany(string|array|null $column = 'id', string|null $relation = null)

Указать, что отношение является самым последним единственным результатом более крупного отношения «один ко многим».

из CanBeOneOfMany
$this oldestOfMany(string|array|null $column = 'id', string|null $relation = null)

Указать, что отношение является самым старым единственным результатом более крупного отношения «один ко многим».

из CanBeOneOfMany
строка getDefaultOneOfManyJoinAlias(string $relation)

Получить стандартный псевдоним для подзапроса объединения «один из многих».

из CanBeOneOfMany
Билдер newOneOfManySubQuery(string|array $groupBy, string|null $column = null, string|null $aggregate = null)

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

из CanBeOneOfMany
void addOneOfManyJoinSubQuery(Билдер $parent, Билдер $subQuery, string $on)

Добавить подзапрос объединения к заданному запросу по заданному столбцу и внешнему ключу отношения.

из CanBeOneOfMany
void mergeOneOfManyJoinsTo(Билдер $query)

Объединить объединения запроса отношения к заданному билдеру запросов.

из CanBeOneOfMany
Билдер|void getOneOfManySubQuery()

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

из CanBeOneOfMany
string qualifySubSelectColumn(string $column)

Получить квалифицированное имя столбца для отношения один-ко-многим, используя псевдоним запроса с подзапросом.

из CanBeOneOfMany
string qualifyRelatedColumn(string $column)

Квалифицировать связанный столбец, используя имя связанной таблицы, если оно не квалифицировано.

из CanBeOneOfMany
string guessRelationship()

Угадать имя отношения "один-к-одному" через стек вызовов.

из CanBeOneOfMany
bool isOneOfMany()

Определить, является ли отношение отношением один-ко-многим.

из CanBeOneOfMany
string getRelationName()

Получить имя отношения.

из CanBeOneOfMany
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)

Перенаправить вызов метода на заданный объект.

Параметры

mixed $object
string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

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

Параметры

mixed $object
string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

Выбросить исключение BadMethodCallException для указанного метода.

Параметры

string $method

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

void

Исключения

BadMethodCallException

static void macro(string $name, object|callable $macro)

Зарегистрировать пользовательское макрос.

Параметры

string $name
object|callable $macro

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

void

static void mixin(object $mixin, bool $replace = true)

Добавить другой объект в класс.

Параметры

object $mixin
bool $replace

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

void

Исключения

ReflectionException

static bool hasMacro(string $name)

Проверяет, зарегистрирован ли макрос.

Параметры

string $name

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

bool

static void flushMacros()

Очистить существующие макросы.

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

void

static mixed __callStatic(string $method, array $parameters)

Динамически обрабатывать вызовы класса.

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

Динамически обрабатывать вызовы класса.

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

void __construct(Builder $query, Model $parent, string $foreignKey, string $localKey)

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

Параметры

Builder $query
Model $parent
string $foreignKey
string $localKey

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

void

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed
END_OF_DOCUMENT_MARKER

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

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

Параметры

array $models

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

void

array initRelation(array $models, string $relation)

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

mixed getResults()

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

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

mixed

Collection getEager()

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

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

Collection

Модель sole(array|string $columns = ['*'])

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

Параметры

array|string $columns

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

Модель

Исключения

ModelNotFoundException
MultipleRecordsFoundException

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

Выполнить запрос как оператор «выбрать».

Параметры

array $columns

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

Collection

void touch()

Обновить все связанные модели для отношения.

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

void

int rawUpdate(array $attributes = [])

Выполнить сырое обновление по базовому запросу.

Параметры

array $attributes

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

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

Добавить ограничения для запроса подсчёта существования отношения.

Параметры

Builder $query
Builder $parentQuery

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

Builder

Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для внутреннего запроса проверки существования отношения.

В сущности, эти запросы сравнивают по именам столбцов, например, «whereColumn».

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getRelationCountHash(bool $incrementJoinCount = true)

Получить хэш таблицы соединения отношения.

Параметры

bool $incrementJoinCount

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

string

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

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

Параметры

array $models
string|null $key

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

array

protected Builder getRelationQuery()

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

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

Builder

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected string whereInMethod(Модель $model, string $key)

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

Параметры

Модель $model
string $key

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

string

static void requireMorphMap(bool $requireMorphMap = true)

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

Параметры

bool $requireMorphMap

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

void

static bool requiresMorphMap()

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

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

bool

static array enforceMorphMap(array $map, bool $merge = true)

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

Параметры

array $map
bool $merge

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

array

static array morphMap(array $map = null, bool $merge = true)

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

Параметры

array $map
bool $merge

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

array

static protected array|null buildMorphMapFromModels(array $models = null)

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

Параметры

array $models

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

array|null

static string|null getMorphedModel(string $alias)

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

Параметры

string $alias

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

string|null

void __clone()

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

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

void

protected mixed getDictionaryKey(mixed $attribute)

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

Параметры

mixed $attribute

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

mixed

Исключения

InvalidArgumentException

Модель make(array $attributes = [])

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

Параметры

array $attributes

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

Модель

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

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

Параметры

iterable $records

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

Коллекция

array matchOne(array $models, Коллекция $results, string $relation)

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

Параметры

array $models
Коллекция $results
string $relation

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

array

array matchMany(array $models, Коллекция $results, string $relation)

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

Параметры

array $models
Коллекция $results
string $relation

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

array

protected array matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)

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

Параметры

array $models
Коллекция $results
string $relation
string $type

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

array

protected mixed getRelationValue(array $dictionary, string $key, string $type)

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

Параметры

array $dictionary
string $key
string $type

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

mixed

protected array buildDictionary(Коллекция $results)

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

Параметры

Коллекция $results

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

array

Collection|Модель findOrNew(mixed $id, array $columns = ['*'])

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

Параметры

mixed $id
array $columns

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

Collection|Модель

Модель firstOrNew(array $attributes = [], array $values = [])

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

Параметры

array $attributes
array $values

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

Модель

Модель firstOrCreate(array $attributes = [], array $values = [])

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

Параметры

array $attributes
array $values

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

Модель

Модель updateOrCreate(array $attributes, array $values = [])

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

Параметры

array $attributes
array $values

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

Модель

Модель|false save(Модель $model)

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

Параметры

Модель $model

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

Модель|false

iterable saveMany(iterable $models)

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

Параметры

iterable $models

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

iterable

Модель create(array $attributes = [])

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

Параметры

array $attributes

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

Модель

Модель forceCreate(array $attributes = [])

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

Параметры

array $attributes

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

Модель

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

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

Параметры

iterable $records

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

Коллекция

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

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

Параметры

Модель $model

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

void

Библиотека getRelationExistenceQueryForSelfRelation(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*'])

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

Параметры

Библиотека $query
Библиотека $parentQuery
array|mixed $columns

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

Библиотека

string getExistenceCompareKey()

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

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

string

abstract mixed getParentKey()

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

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

mixed

string getForeignKeyName()

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

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

string

string getQualifiedForeignKeyName()

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

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

string

string getLocalKeyName()

Получить локальный ключ для отношения.

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

string

bool is(Модель|null $model)

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

Параметры

Модель|null $model

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

bool

bool isNot(Модель|null $model)

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

Параметры

Модель|null $model

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

bool

protected mixed getRelatedKeyFrom(Model $model)

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

Parameters

Model $model

Return Value

mixed

protected bool compareKeys(mixed $parentKey, mixed $relatedKey)

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

Parameters

mixed $parentKey
mixed $relatedKey

Return Value

bool

void addOneOfManySubQueryConstraints(Builder $query, string|null $column = null, string|null $aggregate = null)

Добавить ограничения для подзапроса внутреннего соединения для отношений «один из многих».

Parameters

Builder $query
string|null $column
string|null $aggregate

Return Value

void

array|string getOneOfManySubQuerySelectColumns()

Получить столбцы, которые должны быть выбраны подзапросом для отношений «один из многих».

Return Value

array|string

void addOneOfManyJoinSubQueryConstraints(JoinClause $join)

Добавить ограничения запроса соединения для отношений «один из многих».

Parameters

JoinClause $join

Return Value

void

$this ofMany(string|array|null $column = 'id', string|Closure|null $aggregate = 'MAX', string|null $relation = null)

Указывает, что отношение является единственным результатом более сложной связи «один ко многим».

Parameters

string|array|null $column
string|Closure|null $aggregate
string|null $relation

Return Value

$this

Exceptions

InvalidArgumentException

$this latestOfMany(string|array|null $column = 'id', string|null $relation = null)

Указывает, что отношение — это последний единственный результат более сложной связи «один ко многим».

Parameters

string|array|null $column
string|null $relation

Return Value

$this

$this oldestOfMany(string|array|null $column = 'id', string|null $relation = null)

Указывает, что отношение — это самый старый единственный результат более сложной связи «один ко многим».

Parameters

string|array|null $column
string|null $relation

Return Value

$this

protected string getDefaultOneOfManyJoinAlias(string $relation)

Получить имя по умолчанию для псевдонима подзапроса внутреннего соединения «один из многих».

Parameters

string $relation

Return Value

string

protected Builder newOneOfManySubQuery(string|array $groupBy, string|null $column = null, string|null $aggregate = null)

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

Parameters

string|array $groupBy
string|null $column
string|null $aggregate

Return Value

Builder

protected void addOneOfManyJoinSubQuery(Builder $parent, Builder $subQuery, string $on)

Добавить подзапрос соединения к заданному запросу по заданному столбцу и внешнему ключу отношения.

Parameters

Builder $parent
Builder $subQuery
string $on

Return Value

void

protected void mergeOneOfManyJoinsTo(Builder $query)

Объединить соединения запроса отношения с заданным конструктором запроса.

Parameters

Builder $query

Return Value

void

Builder|void getOneOfManySubQuery()

Получить экземпляр подзапроса внутреннего соединения «один из многих».

Return Value

Builder|void

string qualifySubSelectColumn(string $column)

Получить квалифицированное имя столбца для отношения «один из многих» с использованием псевдонима подзапроса соединения.

Parameters

string $column

Return Value

string

protected string qualifyRelatedColumn(string $column)

Квалифицировать связанный столбец с использованием имени связанной таблицы, если он не квалифицирован.

Parameters

string $column

Return Value

string

protected string guessRelationship()

Угадать имя отношения «hasOne» через стек вызовов.

Return Value

string

bool isOneOfMany()

Определить, является ли отношение отношением «один из многих».

Return Value

bool

string getRelationName()

Получить имя отношения.

Return Value

string

Модель newRelatedInstanceFor(Модель $parent)

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

Параметры

Модель $parent

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

Модель

$this withDefault(Closure|array|bool $callback = true)

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

Параметры

Closure|array|bool $callback

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

$this

protected Модель|null getDefaultFor(Модель $parent)

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

Параметры

Модель $parent

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

Модель|null

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Relations/HasOne.html

Spec-Zone.ru

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