Spec-Zone.ru › Laravel 10

HasOneOrMany

абстрактный класс HasOneOrMany расширяет Relation (View source)

Свойства

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

статический защищённый массив $macros

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

из Macroable
защищённый Builder $query

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

из Relation
защищённый Model $parent

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

из Relation
защищённый Model $related

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

из Relation
защищённый bool $eagerKeysWereEmpty

Указывает, следует ли неявно возвращать пустой коллекцией при ленивой загрузке связи.

из Relation
статический защищённый bool $constraints

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

из Relation
статический массив $morphMap

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

из Relation
статический защищённый bool $requireMorphMap

Предотвращает морф связи без морф карты.

из Relation
статический защищённый int $selfJoinCount

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

из Relation
защищённая строка $foreignKey

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

защищённая строка $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)

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

array initRelation(array $models, string $relation)

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

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

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

from Relation
mixed getResults()

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

from Relation
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 Relation
Builder getQuery()

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

from Relation
Builder getBaseQuery()

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

from Relation
Builder toBase()

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

from Relation
Модель getParent()

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

из Отношения
строка getQualifiedParentKeyName()

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

Модель getRelated()

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

из Отношения
строка createdAt()

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

из Отношения
строка updatedAt()

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

из Отношения
строка relatedUpdatedAt()

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

из Отношения
void whereInEager(string $whereIn, string $key, array $modelKeys, Билдер $query = null)

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

из Отношения
строка whereInMethod(Модель $model, string $key)

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

из Отношения
static void requireMorphMap(bool $requireMorphMap = true)

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

из Отношения
static bool requiresMorphMap()

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

из Отношения
static массив enforceMorphMap(array $map, bool $merge = true)

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

из Отношения
static массив morphMap(array $map = null, bool $merge = true)

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

из Отношения
static массив|null buildMorphMapFromModels(array $models = null)

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

из Отношения
static строка|null getMorphedModel(string $alias)

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

из Отношения
void __clone()

Вынуждает клонирование подчинённого билдера при клонировании.

из Отношения
смешанный тип getDictionaryKey(mixed $attribute)

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

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

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

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

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

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

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

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

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

массив matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)

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

смешанный тип getRelationValue(array $dictionary, string $key, string $type)

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

массив buildDictionary(Коллекция $results)

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

Коллекция|Модель findOrNew(mixed $id, array $columns = ['*'])

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

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

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

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

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

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

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

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

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

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

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

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

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

iterable saveMany(iterable $models)

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

iterable saveManyQuietly(iterable $models)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

string getExistenceCompareKey()

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

mixed getParentKey()

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

string getForeignKeyName()

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

string getQualifiedForeignKeyName()

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

string getLocalKeyName()

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

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)

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

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

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(Билдер $query, Модель $parent, string $foreignKey, string $localKey)

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

Parameters

Билдер $query
Модель $parent
string $foreignKey
string $localKey

Return Value

void
END_OF_DOCUMENT_MARKER

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

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

Параметры

array $models

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

void

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

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

abstract mixed getResults()

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

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

mixed

Collection getEager()

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

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

Collection

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

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

Параметры

array|string $columns

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

Модель

Исключения

Модель>
ИсключениеНесколькоЗаписей

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 = ['*'])

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

Параметры

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

Builder toBase()

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

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

Builder

Модель getParent()

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

Значение возвращаемого значения

Модель

строка getQualifiedParentKeyName()

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

Значение возвращаемого значения

строка

Модель getRelated()

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

Значение возвращаемого значения

Модель

строка createdAt()

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

Значение возвращаемого значения

строка

строка updatedAt()

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

Значение возвращаемого значения

строка

строка relatedUpdatedAt()

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

Значение возвращаемого значения

строка

protected void whereInEager(string $whereIn, string $key, array $modelKeys, Билдер $query = null)

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

Параметры

строка $whereIn
строка $key
массив $modelKeys
Билдер $query

Значение возвращаемого значения

void

protected строка whereInMethod(Модель $model, string $key)

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

Параметры

Модель $model
строка $key

Значение возвращаемого значения

строка

static void requireMorphMap(bool $requireMorphMap = true)

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

Параметры

логическое $requireMorphMap

Значение возвращаемого значения

void

static логическое requiresMorphMap()

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

Значение возвращаемого значения

логическое

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

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

Параметры

array $map
bool $merge

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

array

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

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

Параметры

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)

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

Параметры

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

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

array

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

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

Параметры

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

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

array

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

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

Parameters

array $models
Collection $results
string $relation
string $type

Return Value

array

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

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

Parameters

array $dictionary
string $key
string $type

Return Value

mixed

protected array buildDictionary(Collection $results)

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

Parameters

Collection $results

Return Value

array

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

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

Parameters

mixed $id
array $columns

Return Value

Collection|Model

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

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

Parameters

array $attributes
array $values

Return Value

Model

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

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

Parameters

array $attributes
array $values

Return Value

Model

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

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

Parameters

array $attributes
array $values

Return Value

Model

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

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

Parameters

array $attributes
array $values

Return Value

Model

Model|false save(Model $model)

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

Parameters

Model $model

Return Value

Model|false

Model|false saveQuietly(Model $model)

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

Parameters

Model $model

Return Value

Model|false

iterable saveMany(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

iterable saveManyQuietly(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

Model create(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model createQuietly(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model forceCreate(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Model forceCreateQuietly(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

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

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

Параметры

iterable $records

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

Коллекция

Коллекция createManyQuietly(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

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/10.x/Illuminate/Database/Eloquent/Relations/HasOneOrMany.html

Spec-Zone.ru

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