Spec-Zone.ru › Laravel 9

HasOneOrMany

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

Свойства

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

Препятствует морфическим отношениям без карты морфизма.

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

Количество самосвязей.

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

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

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

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

Методы

mixed forwardCallTo(mixed $object, string $method, array $parameters)

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

из ForwardsCalls
mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

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

из ForwardsCalls
static void throwBadMethodCallException(string $method)

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

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

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

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

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

из Macroable
static bool hasMacro(string $name)

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

из Macroable
static void flushMacros()

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

из Macroable
static mixed __callStatic(string $method, array $parameters)

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

из Macroable
mixed __call(string $method, array $parameters)

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

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

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

static mixed noConstraints(Closure $callback)

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

из Relation
void addConstraints()

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

void addEagerConstraints(array $models)

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

array initRelation(array $models, string $relation)

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

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

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

из Relation
mixed getResults()

Получить результаты связи.

из Relation
Collection getEager()

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

из Relation
Model sole(array|string $columns = ['*'])

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

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

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

из Relation
void touch()

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

из Relation
int rawUpdate(array $attributes = [])

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

из Relation
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

string getRelationCountHash(bool $incrementJoinCount = true)

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

из Relation
array getKeys(array $models, string|null $key = null)

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

из Relation
Builder getRelationQuery()

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

из Relation
Builder getQuery()

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

из Relation
Builder getBaseQuery()

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

из Relation
Builder toBase()

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

из Relation
Модель getParent()

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

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

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

Модель getRelated()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

из Взаимодействует со словарем
Модель make(массив $attributes = [])

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

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

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

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

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

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

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

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

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

смешанный getRelationValue(массив $dictionary, строка $key, строка $type)

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

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

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

Коллекция|Модель findOrNew(смешанный $id, массив $columns = ['*'])

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

Модель firstOrNew(массив $attributes = [], массив $values = [])

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

Модель firstOrCreate(массив $attributes = [], массив $values = [])

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

Модель updateOrCreate(массив $attributes, массив $values = [])

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

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

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

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

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

iterable saveMany(iterable $models)

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

iterable saveManyQuietly(iterable $models)

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

Модель create(массив $attributes = [])

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

Модель createQuietly(массив $attributes = [])

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

Модель forceCreate(массив $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()

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

Подробности

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

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
END_OF_DOCUMENT_MARKER

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

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

Модель

Исключения

Модель>
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 = ['*'])

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

Параметры

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()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

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)

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

Параметры

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)

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

Параметры

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

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

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

Параметры

mixed $id
array $columns

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

Коллекция|Модель

Модель 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

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

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

Параметры

Модель $model

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

Модель|false

iterable saveMany(iterable $models)

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

Параметры

iterable $models

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

iterable

iterable saveManyQuietly(iterable $models)

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

Параметры

iterable $models

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

iterable

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $attributes

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

Модель

Коллекция 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/9.x/Illuminate/Database/Eloquent/Relations/HasOneOrMany.html

Spec-Zone.ru

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