Spec-Zone.ru › Laravel 9

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

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

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
Билдер toBase()

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

из Отношения
Модель getParent()

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

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

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

из ОдинКОдномуИлиНесколькоКОдному
Модель getRelated()

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

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

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

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

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

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

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

из Отношения
строка 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(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 = [])

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

из ОдинКОдномуИлиНесколькоКОдному
Модель|false save(Модель $model)

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

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

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

из HasOneOrMany
iterable saveMany(iterable $models)

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

из HasOneOrMany
iterable saveManyQuietly(iterable $models)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

из HasOneOrMany
string getExistenceCompareKey()

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

из HasOneOrMany
mixed getParentKey()

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

из HasOneOrMany
string getForeignKeyName()

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

из HasOneOrMany
string getQualifiedForeignKeyName()

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

из HasOneOrMany
string getLocalKeyName()

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

из HasOneOrMany

Подробности

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

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

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

Параметры

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
END_OF_DOCUMENT_MARKER

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

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

Параметры

массив $models
строка|null $key

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

массив

protected Builder getRelationQuery()

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

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

Builder

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

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

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

Параметры

массив $map
bool $merge

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

массив

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

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

Параметры

массив $map
bool $merge

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

массив

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

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

Параметры

массив $models

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

массив|null

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

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

Параметры

строка $alias

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

строка|null

void __clone()

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

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

void

protected смешанный тип getDictionaryKey(смешанный тип $attribute)

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

Параметры

смешанный тип $attribute

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

смешанный тип

Исключения

InvalidArgumentException

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

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

Параметры

массив $attributes

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

Модель

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

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

Параметры

iterable $records

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

Коллекция

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

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

Параметры

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

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

массив

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

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

Параметры

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

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

массив

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

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

Параметры

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

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

массив

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

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

Параметры

массив $dictionary
строка $key
строка $type

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

смешанный тип

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

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

Параметры

Коллекция $results

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

массив

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

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

Параметры

смешанный тип $id
массив $columns

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

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

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

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

Параметры

массив $attributes
массив $values

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

Модель

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

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

Параметры

массив $attributes
массив $values

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

Модель

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

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

Параметры

массив $attributes
массив $values

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

Модель

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

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

Параметры

Модель $model

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

Модель|ложь

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

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

Параметры

Модель $model

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

Модель|ложь

итерируемый объект saveMany(итерируемый объект $models)

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

Параметры

итерируемый объект $models

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

итерируемый объект

итерируемый объект saveManyQuietly(итерируемый объект $models)

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

Параметры

итерируемый объект $models

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

итерируемый объект

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

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

Параметры

массив $attributes

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

Модель

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

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

Параметры

массив $attributes

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

Модель

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

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

Параметры

массив $attributes

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

Модель
END_OF_DOCUMENT_MARKER

Коллекция 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/HasMany.html

Spec-Zone.ru

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