Spec-Zone.ru › Laravel 10

HasMany

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

Свойства

InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

из Relation
защищённый булево значение $eagerKeysWereEmpty

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

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

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

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

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

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

Препятствует morph-связям без morph-карты.

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

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

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

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

from Relation
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

from HasOneOrMany
Model getRelated()

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

from Relation
string createdAt()

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

from Relation
string updatedAt()

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

from Relation
string relatedUpdatedAt()

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

from Relation
void whereInEager(string $whereIn, string $key, array $modelKeys, Builder $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)

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

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

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

from Relation
static array|null buildMorphMapFromModels(array $models = null)

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

from Relation
static string|null getMorphedModel(string $alias)

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

from Relation
void __clone()

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

from Relation
mixed getDictionaryKey(mixed $attribute)

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

from InteractsWithDictionary
Model make(array $attributes = [])

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

from HasOneOrMany
Collection makeMany(iterable $records)

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

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

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

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

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

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

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

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

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

from HasOneOrMany
array buildDictionary(Collection $results)

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

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

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

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

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

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

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

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

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

из ОтношениеОдинКоМногим
ОдинКОдному one()

Преобразование отношения в отношение "один к одному".

Подробности

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)

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

Параметры

string $method

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

void

Исключения

BadMethodCallException
END_OF_DOCUMENT_MARKER

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

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

Исключения

Model>
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

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder $query = null)

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

Параметры

string $whereIn
string $key
array $modelKeys
Builder $query

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

void

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

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

Параметры

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

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

Parameters

array $models

Return Value

array|null

static string|null getMorphedModel(string $alias)

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

Parameters

string $alias

Return Value

string|null

void __clone()

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

Return Value

void

protected mixed getDictionaryKey(mixed $attribute)

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

Parameters

mixed $attribute

Return Value

mixed

Exceptions

InvalidArgumentException

Model make(array $attributes = [])

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

Parameters

array $attributes

Return Value

Model

Collection makeMany(iterable $records)

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

Parameters

iterable $records

Return Value

Collection

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

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)

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

Параметры

Model $model

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

Model|false

Model|false saveQuietly(Model $model)

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

Параметры

Model $model

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

Model|false

iterable saveMany(iterable $models)

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

Параметры

iterable $models

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

iterable

iterable saveManyQuietly(iterable $models)

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

Параметры

iterable $models

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

iterable

Model create(array $attributes = [])

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

Параметры

array $attributes

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

Model

Model createQuietly(array $attributes = [])

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

Параметры

array $attributes

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

Model

Model forceCreate(array $attributes = [])

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

Параметры

array $attributes

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

Model

Model forceCreateQuietly(array $attributes = [])

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

Параметры

array $attributes

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

Model

Collection createMany(iterable $records)

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

Параметры

iterable $records

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

Collection

Collection createManyQuietly(iterable $records)

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

Параметры

iterable $records

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

Collection

protected void setForeignAttributesForCreate(Model $model)

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

Параметры

Model $model

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

void

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getExistenceCompareKey()

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

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

string

mixed getParentKey()

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

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

mixed

string getForeignKeyName()

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

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

string

string getQualifiedForeignKeyName()

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

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

string

string getLocalKeyName()

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

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

string

HasOne one()

Преобразовать отношение в отношение "has one".

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

HasOne

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

Spec-Zone.ru

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