Spec-Zone.ru › Laravel 11

HasOneOrMany

абстрактный класс HasOneOrMany наследуется от Relation (Просмотреть исходный код)

Трейты

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

static protected array $macros

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

from Macroable
protected TRelatedModel> $query

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

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

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

protected string $localKey

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

Методы

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)

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

static mixed noConstraints(Closure $callback)

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

from Relation
void addConstraints()

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

void addEagerConstraints(array $models)

Без описания

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

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

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

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

from Relation
TResult getResults()

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

from Relation
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
TRelatedModel> getRelationQuery()

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

from Relation
TRelatedModel> getQuery()

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

from Relation
Builder getBaseQuery()

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

из Relation
Builder toBase()

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

из Relation
TDeclaringModel getParent()

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

из Relation
string getQualifiedParentKeyName()

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

TRelatedModel getRelated()

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

из Relation
string createdAt()

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

из Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

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

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

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|null $map = null, bool $merge = true)

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

from Relation
статический массив|null buildMorphMapFromModels(массив|null $models = null)

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

из Relation
статический строка|null getMorphedModel(строка $alias)

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

из Relation
статический int|строка getMorphAlias(строка $className)

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

из Relation
void __clone()

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

из Relation
смешанный тип getDictionaryKey(смешанный тип $attribute)

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

из InteractsWithDictionary
TRelatedModel make(массив $attributes = [])

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

TRelatedModel> makeMany(iterable $records)

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

TDeclaringModel> matchOne(массив $models, Collection $results, строка $relation)

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

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

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

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

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

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

Получить значение связи по типу one или many.

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)

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

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».

mixed getParentKey()

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

string getForeignKeyName()

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

string getQualifiedForeignKeyName()

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

string getLocalKeyName()

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

Подробности

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)

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

Параметры

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

смешанный __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

смешанный

Исключения

BadMethodCallException

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

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

Параметры

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

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

void

статический смешанный noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

смешанный

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

Без описания

Параметры

Массив $models

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

void

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

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

Параметры

Массив $models
Строка $relation

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

TDeclaringModel>

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

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

Параметры

Массив $models
Collection $results
Строка $relation

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

TDeclaringModel>

abstract TResult getResults()

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

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

TResult

TRelatedModel> getEager()

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

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

TRelatedModel>

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

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

Параметры

array|string $columns

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

TRelatedModel

Исключения

TRelatedModel>
MultipleRecordsFoundException

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

Выполнить запрос как оператор "select".

Параметры

array $columns

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

TRelatedModel>

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

array $attributes

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

int

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

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

Параметры

Builder $query
Builder $parentQuery

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

TRelatedModel>

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

Без описания

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

TRelatedModel>

string getRelationCountHash(bool $incrementJoinCount = true)

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

Параметры

bool $incrementJoinCount

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

string

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

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

Параметры

array $models
string|null $key

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

array<int,int|string>

protected TRelatedModel> getRelationQuery()

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

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

TRelatedModel>

TRelatedModel> getQuery()

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

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

TRelatedModel>

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

TDeclaringModel getParent()

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

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

TDeclaringModel

string getQualifiedParentKeyName()

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

Значение возвращаемого результата

string

TRelatedModel getRelated()

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

Значение возвращаемого результата

TRelatedModel

string createdAt()

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

Значение возвращаемого результата

string

string updatedAt()

Получить имя столбца "обновлено в".

Значение возвращаемого результата

string

string relatedUpdatedAt()

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

Значение возвращаемого результата

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" для леничной загрузки.

Параметры

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)

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

Параметры

array $map
bool $merge

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

array

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

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

Параметры

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>

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

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

Параметры

array $models
Collection $results
string $relation

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

TDeclaringModel>

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

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

Параметры

array $models
Collection $results
string $relation

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

TDeclaringModel>

protected TDeclaringModel> matchOneOrMany(array $models, Collection $results, string $relation, string $type)

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

Параметры

array $models
Collection $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(Collection $results)

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

Параметры

Collection $results

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

TRelatedModel>[]

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

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

Параметры

mixed $id
array $columns

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

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

Параметры

массив $attributes
массив $values

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

TRelatedModel

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

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

Параметры

массив $attributes
массив $values

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

TRelatedModel

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

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

Параметры

массив $attributes
массив $values

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

TRelatedModel

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

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

Параметры

массив $attributes
массив $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)

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

Параметры

iterable $records

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

TRelatedModel>

TRelatedModel> createManyQuietly(iterable $records)

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

Параметры

iterable $records

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

TRelatedModel>

protected void setForeignAttributesForCreate(Model $model)

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

Параметры

Model $model

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

void

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

TRelatedModel>

$this take(int $value)

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

Параметры

int $value

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

$this

$this limit(int $value)

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

Параметры

int $value

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

$this

string getExistenceCompareKey()

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

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

string

mixed getParentKey()

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

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

mixed

string getForeignKeyName()

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

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

string

string getQualifiedForeignKeyName()

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

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

string

string getLocalKeyName()

Получить локальный ключ для связи.

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

string

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

Spec-Zone.ru

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