Spec-Zone.ru › Laravel 8

HasMany

класс HasMany расширяет HasOneOrMany (View source)

Свойства

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

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

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

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

из HasOneOrMany

Методы

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
array initRelation(array $models, string $relation)

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

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

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

mixed getResults()

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

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

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

from HasOneOrMany
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
Модель getParent()

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

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

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

из ОдноКмногие
Модель getRelated()

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

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

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

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

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

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

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

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

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

из Отношения
статический void requireMorphMap(bool $requireMorphMap = true)

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

из Отношения
статический bool requiresMorphMap()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

из ОдноКмногие
Коллекция makeMany(итерируемый $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)

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

из ОдноКмногие
iterable saveMany(iterable $models)

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

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

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

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

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

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

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

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

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

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

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

from HasOneOrMany
string getExistenceCompareKey()

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

from HasOneOrMany
mixed getParentKey()

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

from HasOneOrMany
string getИмяВнешнегоКлюча()

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

from HasOneOrMany
string getКвалифицированноеИмяВнешнегоКлюча()

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

from HasOneOrMany
string getИмяЛокальногоКлюча()

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

from HasOneOrMany

Подробности

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
END_OF_DOCUMENT_MARKER

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

array initRelation(array $models, string $relation)

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

mixed getResults()

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

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

mixed

Collection getEager()

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

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

Collection

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

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

Параметры

array|string $columns

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

Model

Исключения

ModelNotFoundException
MultipleRecordsFoundException

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

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

Параметры

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

Блок-схема getBaseQuery()

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

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

Блок-схема

Модель getParent()

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

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

Модель

строка getQualifiedParentKeyName()

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

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

строка

Модель getRelated()

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

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

Модель

строка createdAt()

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

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

строка

строка updatedAt()

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

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

строка

строка relatedUpdatedAt()

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

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

строка

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

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

Параметры

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

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

строка

static void requireMorphMap(bool $requireMorphMap = true)

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

Параметры

bool $requireMorphMap

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

void

static bool requiresMorphMap()

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

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

bool

static массив enforceMorphMap(array $map, bool $merge = true)

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

Параметры

массив $map
bool $merge

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

массив

static массив morphMap(array $map = null, bool $merge = true)

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

Параметры

массив $map
bool $merge

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

массив

static protected массив|null buildMorphMapFromModels(array $models = null)

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

Параметры

массив $models

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

массив|null

static строка|null getMorphedModel(string $alias)

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

Параметры

строка $alias

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

строка|null

void __clone()

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

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

void

protected смешанный getDictionaryKey(mixed $attribute)

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

Параметры

смешанный $attribute

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

смешанный

Исключения

InvalidArgumentException

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

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

Параметры

массив $attributes

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

Модель

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

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

Параметры

iterable $records

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

Коллекция

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

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

Параметры

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

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

массив

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

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

Параметры

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

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

массив

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

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

Параметры

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

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

массив
END_OF_DOCUMENT_MARKER

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|Модель findOrNew(mixed $id, array $columns = ['*'])

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

Parameters

mixed $id
array $columns

Return Value

Collection|Модель

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

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

Parameters

array $attributes
array $values

Return Value

Модель

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

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

Parameters

array $attributes
array $values

Return Value

Модель

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

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

Parameters

array $attributes
array $values

Return Value

Модель

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

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

Parameters

Модель $model

Return Value

Модель|false

iterable saveMany(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

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

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

Parameters

array $attributes

Return Value

Модель

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

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

Parameters

array $attributes

Return Value

Модель

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

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

Parameters

iterable $records

Return Value

Коллекция

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

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

Parameters

Модель $model

Return Value

void

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

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

Parameters

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

Return Value

Билдер

string getExistenceCompareKey()

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

Return Value

string

mixed getParentKey()

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

Return Value

mixed

string getForeignKeyName()

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

Return Value

string

string getQualifiedForeignKeyName()

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

Return Value

string

string getLocalKeyName()

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

Return Value

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/HasMany.html

Spec-Zone.ru

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