Spec-Zone.ru › Laravel 5.7

HasMany

class HasMany extends HasOneOrMany (View source)

Свойства

ForwardsCalls
Macroable

Свойства

static protected array $macros Зарегистрированные строковые макросы. from Macroable
protected Builder $query Экземпляр Eloquent-инстанса билдера запросов. from Relation
protected Model $parent Экземпляр родительской модели. from Relation
protected Model $related Экземпляр связанной модели. from Relation
static protected bool $constraints Указывает, добавляет ли отношение ограничения. from Relation
static array $morphMap Массив для сопоставления имен классов с их именами морф в базе данных. from Relation
protected string $foreignKey Внешний ключ родительской модели. from HasOneOrMany
protected string $localKey Локальный ключ родительской модели. from HasOneOrMany
static protected int $selfJoinCount Количество самосоединений. from HasOneOrMany

Методы

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

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

из ForwardsCalls
static void throwBadMethodCallException(string $method)

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

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

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

из Macroable
static void mixin(object $mixin)

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

из Macroable
static bool hasMacro(string $name)

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

из 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)

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

из HasOneOrMany
static mixed noConstraints(Closure $callback)

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

из Relation
void addConstraints()

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

из HasOneOrMany
void addEagerConstraints(array $models)

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

из HasOneOrMany
array initRelation(array $models, string $relation)

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

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

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

mixed getResults()

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

Collection getEager()

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

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

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

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

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

из Relation
Builder getQuery()

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

из Relation
Builder getBaseQuery()

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

из Relation
Model getParent()

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

из Relation
string getQualifiedParentKeyName()

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

из HasOneOrMany
Model getRelated()

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

из Relation
string createdAt()

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

из Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

из Relation
статический массив morphMap(массив $map = null, bool $merge = true)

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

из Relation
статический массив|null buildMorphMapFromModels(массив $models = null)

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

из Relation
статический строка|null getMorphedModel(строка $alias)

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

из Relation
void __clone()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

из HasOneOrMany
Перебираемый|массив saveMany(Перебираемый|массив $models)

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

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

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

из HasOneOrMany
Коллекция createMany(массив $records)

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

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

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

из HasOneOrMany
int update(массив $attributes)

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

из HasOneOrMany
Билдэр getRelationExistenceQueryForSelfRelation(Билдэр $query, Билдэр $parentQuery, массив|смешанный тип $columns = ['*'])

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

из HasOneOrMany
строка getRelationCountHash()

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

из HasOneOrMany
строка getExistenceCompareKey()

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

из HasOneOrMany
смешанный тип getParentKey()

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

из HasOneOrMany
строка getForeignKeyName()

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

из HasOneOrMany
строка getQualifiedForeignKeyName()

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

из HasOneOrMany

Детали

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

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

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)

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

Parameters

object $mixin

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

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

Parameters

string $name

Return Value

bool

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(Builder $query, Model $parent, string $foreignKey, string $localKey)

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

Parameters

Builder $query
Model $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

array initRelation(array $models, string $relation)

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

Parameters

array $models
string $relation

Return Value

array

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

mixed getResults()

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

Return Value

mixed

Collection getEager()

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

Return Value

Collection

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

Выполнить запрос как операцию "select".

Parameters

array $columns

Return Value

Collection

void touch()

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

Return Value

void

int rawUpdate(array $attributes = [])

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

Parameters

array $attributes

Return Value

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

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

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

Параметры

array $models
string $key

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

array

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Model getParent()

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

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

Model

string getQualifiedParentKeyName()

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

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

string

Model getRelated()

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

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

Model

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

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

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

Параметры

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

Model make(array $attributes = [])

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

Параметры

array $attributes

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

Model

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

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

Параметры

array $models
Collection $results
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation
string $type

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

array
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

Перечисляемый|array saveMany(Перечисляемый|array $models)

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

Parameters

Перечисляемый|array $models

Return Value

Перечисляемый|array

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

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

Parameters

array $attributes

Return Value

Модель

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

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

Parameters

array $records

Return Value

Коллекция

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

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

Parameters

Модель $model

Return Value

void

int update(array $attributes)

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

Parameters

array $attributes

Return Value

int

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

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

Parameters

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

Return Value

Билдер

string getRelationCountHash()

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

Return Value

string

string getExistenceCompareKey()

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

Return Value

string

mixed getParentKey()

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

Return Value

mixed

string getForeignKeyName()

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

Return Value

string

string getQualifiedForeignKeyName()

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

Return Value

string

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

Spec-Zone.ru

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