Spec-Zone.ru › Laravel 8

HasOneOrMany

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

Свойства

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

из Relation
статический защищённый булево значение $constraints

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

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

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

из Relation
статический защищённый булево значение $requireMorphMap

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

из Relation
статический защищённый целое число $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 = ['*'])

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

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

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

from Relation
string getQualifiedParentKeyName()

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

Model getRelated()

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

из Relation
string createdAt()

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

из Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

из Relation
string whereInMethod(Model $model, string $key)

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

из Relation
static void requireMorphMap(bool $requireMorphMap = true)

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

из Relation
static bool requiresMorphMap()

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

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

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

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

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

из Relation
static array|null buildMorphMapFromModels(array $models = null)

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

из Relation
static string|null getMorphedModel(string $alias)

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

из Relation
void __clone()

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

из Relation
mixed getDictionaryKey(mixed $attribute)

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

из InteractsWithDictionary
Model make(array $attributes = [])

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

Collection makeMany(iterable $records)

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

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

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

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

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

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

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

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

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

array buildDictionary(Collection $results)

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

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

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

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

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

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

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

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

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

Model|false save(Model $model)

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

iterable saveMany(iterable $models)

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

Model create(array $attributes = [])

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

Model forceCreate(array $attributes = [])

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

Collection createMany(iterable $records)

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

void setForeignAttributesForCreate(Model $model)

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

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

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

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)

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

Параметры

string $method

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

void

Исключения

BadMethodCallException

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

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

Параметры

string $name
object|callable $macro

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

void

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

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

Параметры

object $mixin
bool $replace

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

void

Исключения

ReflectionException

static bool hasMacro(string $name)

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

Параметры

string $name

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

bool

static void flushMacros()

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

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

void

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

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

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

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

Параметры

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

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

void

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed

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

Коллекция getEager()

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

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

Коллекция

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

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

Параметры

array|string $columns

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

Модель

Исключения

ИсключениеModelNotFoundException
ИсключениеMultipleRecordsFoundException

Коллекция get(array $columns = ['*'])

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

Параметры

array $columns

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

Коллекция

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

array $attributes

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

int

Билдер getRelationExistenceCountQuery(Билдер $query, Билдер $parentQuery)

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

Параметры

Билдер $query
Билдер $parentQuery

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

Билдер

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

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

Параметры

Билдер $query
Билдер $parentQuery
array|mixed $columns

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

Билдер

string getRelationCountHash(bool $incrementJoinCount = true)

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

Параметры

bool $incrementJoinCount

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

string

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

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

Параметры

array $models
string|null $key

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

array

protected Билдер getRelationQuery()

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

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

Билдер

Билдер getQuery()

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

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

Билдер

Билдер getBaseQuery()

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

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

Билдер

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

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

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

Параметры

Модель $model
string $key

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

string

static void requireMorphMap(bool $requireMorphMap = true)

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

Параметры

bool $requireMorphMap

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

void

статический bool requiresMorphMap()

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

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

bool

статический array enforceMorphMap(array $map, bool $merge = true)

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

Параметры

array $map
bool $merge

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

array

статический array morphMap(array $map = null, bool $merge = true)

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

Параметры

array $map
bool $merge

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

array

статический защищенный array|null buildMorphMapFromModels(array $models = null)

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

Параметры

array $models

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

array|null

статический string|null getMorphedModel(string $alias)

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

Параметры

string $alias

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

string|null

void __clone()

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

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

void

защищенный смешанный getDictionaryKey(смешанный $attribute)

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

Параметры

смешанный $attribute

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

смешанный

Исключения

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

защищенный array matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)

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

Параметры

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

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

array

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

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

Параметры

array $dictionary
string $key
string $type

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

смешанный

защищенный array buildDictionary(Коллекция $results)

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

Параметры

Коллекция $results

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

array

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

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

Параметры

смешанный $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

iterable saveMany(iterable $models)

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

Параметры

iterable $models

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

iterable

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

iterable $records

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

Коллекция

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

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

Параметры

Модель $model

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

void

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

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

Параметры

Билдер $query
Билдер $parentQuery
array|mixed $columns

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

Билдер

string getExistenceCompareKey()

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

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

string

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

Spec-Zone.ru

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