Spec-Zone.ru › Laravel 11

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)

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

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

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

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

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

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

Parameters

string $method

Return Value

void

Exceptions

BadMethodCallException

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

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

Parameters

string $name
object|callable $macro

Return Value

void

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

Смешать другой объект в класс.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

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

Parameters

string $name

Return Value

bool

static void flushMacros()

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

Return Value

void
END_OF_DOCUMENT_MARKER

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

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

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

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

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

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

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

Parameters

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

Return Value

void

static mixed noConstraints(Closure $callback)

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

Parameters

Closure $callback

Return Value

mixed

void addConstraints()

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

Return Value

void

void addEagerConstraints(array $models)

Без описания

Parameters

array $models

Return Value

void

TDeclaringModel> initRelation(array $models, string $relation)

Без описания

Parameters

array $models
string $relation

Return Value

TDeclaringModel>

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

Без описания

Parameters

array $models
Collection $results
string $relation

Return Value

TDeclaringModel>

TResult getResults()

Без описания

Return Value

TResult

TRelatedModel> getEager()

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

Return Value

TRelatedModel>

TRelatedModel sole(array|string $columns = ['*'])

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

Parameters

array|string $columns

Return Value

TRelatedModel

Exceptions

TRelatedModel>
MultipleRecordsFoundException

TRelatedModel> get(array $columns = ['*'])

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

Parameters

array $columns

Return Value

TRelatedModel>

void touch()

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

Return Value

void

int rawUpdate(array $attributes = [])

Выполнить операцию «обновить» с помощью необработанного запроса.

Parameters

array $attributes

Return Value

int

TRelatedModel> getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Parameters

Builder $query
Builder $parentQuery

Return Value

TRelatedModel>

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

Без описания

Parameters

Builder $query
Builder $parentQuery
array|mixed $columns

Return Value

TRelatedModel>

string getRelationCountHash(bool $incrementJoinCount = true)

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

Parameters

bool $incrementJoinCount

Return Value

string

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

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

Parameters

array $models
string|null $key

Return Value

array<int,int|string>

protected getRelationQuery()

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

TRelatedModel> getQuery()

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

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

TRelatedModel>

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

TDeclaringModel getParent()

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

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

TDeclaringModel

string getQualifiedParentKeyName()

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

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

string

TRelatedModel getRelated()

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

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

TRelatedModel

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null)

Добавить ограничение whereIn для загрузки заданного набора ключей моделей.

Параметры

string $whereIn
string $key
array $modelKeys
Builder|null $query

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

void

protected string whereInMethod(Model $model, string $key)

Получить имя метода «where in» для загрузки с помощью eager loading.

Параметры

Model $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 для полиморфных связей и потребовать явного сопоставления всех моделей, связанных с morphed.

Параметры

array $map
bool $merge

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

array

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

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

Параметры

array|null $map
bool $merge

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

array

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

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

Параметры

array|null $models

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

array|null

static string|null getMorphedModel(string $alias)

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

Параметры

string $alias

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

string|null

static int|string getMorphAlias(string $className)

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

Параметры

string $className

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

int|string

void __clone()

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

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

void

protected mixed getDictionaryKey(mixed $attribute)

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

Параметры

mixed $attribute

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

mixed

Исключения

InvalidArgumentException

TRelatedModel make(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel> makeMany(iterable $records)

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

Параметры

iterable $records

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

TRelatedModel>
END_OF_DOCUMENT_MARKER

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

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

Параметры

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

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

TDeclaringModel>

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

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

Параметры

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

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

TDeclaringModel>

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

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

Параметры

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

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

TDeclaringModel>

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

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

Параметры

array $dictionary
string $key
string $type

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

mixed

protected TRelatedModel>[] buildDictionary(Коллекция $results)

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

Параметры

Коллекция $results

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

TRelatedModel>[]

findOrNew(mixed $id, array $columns = ['*'])

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

Параметры

mixed $id
array $columns

TRelatedModel firstOrNew(array $attributes = [], array $values = [])

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

Параметры

array $attributes
array $values

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

TRelatedModel

TRelatedModel firstOrCreate(array $attributes = [], array $values = [])

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

Параметры

array $attributes
array $values

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

TRelatedModel

TRelatedModel createOrFirst(array $attributes = [], array $values = [])

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

Параметры

array $attributes
array $values

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

TRelatedModel

TRelatedModel updateOrCreate(array $attributes, array $values = [])

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

Параметры

array $attributes
array $values

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

TRelatedModel

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

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

Параметры

Модель $model

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

TRelatedModel|false

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

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

Параметры

Модель $model

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

TRelatedModel|false

TRelatedModel> saveMany(TRelatedModel> $models)

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

Параметры

TRelatedModel> $models

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

TRelatedModel>

TRelatedModel> saveManyQuietly(TRelatedModel> $models)

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

Параметры

TRelatedModel> $models

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

TRelatedModel>

TRelatedModel create(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel createQuietly(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel forceCreate(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel forceCreateQuietly(array $attributes = [])

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

Параметры

array $attributes

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

TRelatedModel

TRelatedModel> createMany(iterable $records)

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

Parameters

iterable $records

Return Value

TRelatedModel>

TRelatedModel> createManyQuietly(iterable $records)

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

Parameters

iterable $records

Return Value

TRelatedModel>

protected void setForeignAttributesForCreate(Model $model)

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

Parameters

Model $model

Return Value

void

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

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

Parameters

Builder $query
Builder $parentQuery
array|mixed $columns

Return Value

TRelatedModel>

$this take(int $value)

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

Parameters

int $value

Return Value

$this

$this limit(int $value)

Установить значение "limit" запроса.

Parameters

int $value

Return Value

$this

string getExistenceCompareKey()

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

Return Value

string

abstract mixed getParentKey()

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

Return Value

mixed

string getForeignKeyName()

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

Return Value

string

string getQualifiedForeignKeyName()

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

Return Value

string

string getLocalKeyName()

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

Return Value

string

bool is(Model|null $model)

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

Parameters

Model|null $model

Return Value

bool

bool isNot(Model|null $model)

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

Parameters

Model|null $model

Return Value

bool

protected int|string getRelatedKeyFrom(Model $model)

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

Parameters

Model $model

Return Value

int|string

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)

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

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)

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

Параметры

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

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

$this

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

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

Параметры

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

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

$this

protected string getDefaultOneOfManyJoinAlias(string $relation)

Получить стандартный псевдоним для фрагмента вложенного INNER JOIN «один ко многим».

Параметры

string $relation

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

string

protected newOneOfManySubQuery(string|array $groupBy, string[]|null $columns = null, string|null $aggregate = null)

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

Параметры

string|array $groupBy
string[]|null $columns
string|null $aggregate

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

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

Параметры

Builder $parent
Builder $subQuery
string[] $on

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

void

protected void mergeOneOfManyJoinsTo(Builder $query)

Объединить запросы по отношениям «один ко многим» в заданный билдер запроса.

Параметры

Builder $query

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

void

getOneOfManySubQuery()

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

string qualifySubSelectColumn(string $column)

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

Параметры

string $column

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

string

protected string qualifyRelatedColumn(string $column)

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

Параметры

string $column

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

string

protected string guessRelationship()

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

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

string

bool isOneOfMany()

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

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

bool

string getRelationName()

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

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

string

TRelatedModel newRelatedInstanceFor(Model $parent)

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

Параметры

Model $parent

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

TRelatedModel

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

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

Параметры

Closure|array|bool $callback

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

$this

protected Model|null getDefaultFor(Model $parent)

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

Параметры

Model $parent

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

Model|null

© 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

Spec-Zone.ru

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