HasMany
класс HasMany расширяет HasOneOrMany (Просмотреть исходный код)
Свойства
| 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)
Передать вызов метода заданному объекту. | 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 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()
Получить результаты связи. |
| Коллекция | getEager()
Получить отношение для ленивой загрузки. | из Отношения |
| Коллекция | get(array $columns = ['*'])
Выполнить запрос как операцию "select". | из Отношения |
| void | touch()
Обновить метку времени для всех связанных моделей. | из Отношения |
| int | rawUpdate(array $attributes = [])
Выполнить прямое обновление в базе данных. | из Отношения |
| Библиотека | getRelationExistenceCountQuery(Библиотека $query, Библиотека $parentQuery)
Добавить ограничения для запроса подсчета существования отношения. | из Отношения |
| Библиотека | getRelationExistenceQuery(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения. | из ОдинК одному или многоК одному |
| array | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | from Relation |
| Builder | getQuery()
Получить базовое запрошенное выражение для отношения. | from Relation |
| Builder | getBaseQuery()
Получить базовый генератор запросов, управляющий генератором Eloquent. | from Relation |
| Model | getParent()
Получить родительскую модель отношения. | from Relation |
| string | getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа. | from HasOneOrMany |
| Model | getRelated()
Получить связанную модель отношения. | from Relation |
| string | createdAt()
Получить имя столбца "created at". | from Relation |
| string | updatedAt()
Получить имя столбца "обновлено в". | из Relation |
| string | relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели. | из Relation |
| string | whereInMethod(Model $model, string $key)
Получить имя метода "where in" для ленивой загрузки. | из Relation |
| static array | morphMap(array $map = null, bool $merge = true)
Установить или получить карту морфизма для полиморфных отношений. | из Relation |
| static array|null | buildMorphMapFromModels(array $models = null)
Создает таблично-ключевой массив из имён классов моделей. | из Relation |
| static string|null | getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone()
Принудительно клонировать подлежащий билдер запросов при клонировании. | из Relation |
| Модель | make(array $attributes = [])
Создать и вернуть несохранённую экземпляр связанной модели. | из HasOneOrMany |
| Коллекция | makeMany(iterable $records)
Создать и вернуть несохранённые экземпляры связанных моделей. | из HasOneOrMany |
| массив | matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственным родителем. | из HasOneOrMany |
| массив | matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их множественными родителями. | из HasOneOrMany |
| массив | matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты с их множественными родителями. | из HasOneOrMany |
| смешанный тип | getRelationValue(array $dictionary, string $key, string $type)
Получить значение отношения по типу один-к-одному или один-ко-многим. | из 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 |
| Model | updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | from HasOneOrMany |
| Модель|false | сохранить(Модель $model)
Присоединить экземпляр модели к родительской модели. | из HasOneOrMany |
| iterable | сохранитьМножество(iterable $models)
Присоединить коллекцию моделей к родительскому экземпляру. | из HasOneOrMany |
| Модель | создать(array $attributes = [])
Создать новый экземпляр связанной модели. | из HasOneOrMany |
| Коллекция | создатьМножество(iterable $records)
Создать коллекцию новых экземпляров связанной модели. | из HasOneOrMany |
| void | установитьВнешниеАтрибутыДляСоздание(Модель $model)
Установить внешний идентификатор для создания связанной модели. | из HasOneOrMany |
| Builder | getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на том же столе. | from HasOneOrMany |
| string | getRelationCountHash()
Получить хеш таблицы соединения отношения. | from HasOneOrMany |
| string | getExistenceCompareKey()
Получить ключ для сравнения с ключом родителя в запросе "has". | from HasOneOrMany |
| mixed | getParentKey()
Получить значение ключа локальной родительской таблицы. | from HasOneOrMany |
| string | getForeignKeyName()
Получить простой внешний ключ. | from HasOneOrMany |
| string | getQualifiedForeignKeyName()
Получить внешний ключ для отношения. | from HasOneOrMany |
| string | getLocalKeyName()
Получить локальный ключ для отношения. | из HasOneOrMany |
Подробности
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода заданному объекту.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение BadMethodCallException для заданного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро.
static void mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс.
static bool hasMacro(string $name)
Проверяет, зарегистрирован ли макрос.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
mixed __call(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
void __construct(Builder $query, Model $parent, string $foreignKey, string $localKey)
Создать новый экземпляр отношения один к одному или многим.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями для отношения.
void addConstraints()
Установить базовые ограничения для запроса отношения.
void addEagerConstraints(array $models)
Установить ограничения для жадной загрузки отношения.
array initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей.
array match(array $models, Collection $results, string $relation)
Сопоставить загруженные результаты с их родительскими элементами.
mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для ленивой загрузки.
Collection get(array $columns = ['*'])
Выполнить запрос как операцию "выбор".
void touch()
Коснитесь всех связанных моделей для отношения.
int rawUpdate(array $attributes = [])
Выполните прямое обновление по основному запросу.
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавьте ограничения для запроса подсчёта существования отношения.
Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения.
protected array getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent.
Модель getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное имя ключа родительской записи.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца "created at".
string updatedAt()
Получить имя столбца "updated at".
string relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
protected string whereInMethod(Model $model, string $key)
Получить имя метода "where in" для леничной загрузки.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить карту морфинга для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт таблично-ключевой массив из имён классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
Модель make(array $attributes = [])
Создать и вернуть несохранённую запись связанной модели.
Коллекция makeMany(iterable $records)
Создать и вернуть несохранённые записи связанных моделей.
array matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные результаты с их единственными родительскими записями.
array matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные результаты с их множественными родительскими записями.
protected array matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты с их многочисленными родительскими элементами.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу один или много.
protected array buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу связи.
Collection|Модель findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели.
Модель firstOrNew(array $attributes, array $values = [])
Получить первую связанную запись модели, соответствующую атрибутам, или создать её.
Модель firstOrCreate(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
iterable saveMany(iterable $models)
Прикрепить коллекцию моделей к родительскому экземпляру.
Модель create(array $attributes = [])
Создать новый экземпляр связанной модели.
Коллекция createMany(iterable $records)
Создать Коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор для создания связанной модели.
Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса взаимосвязи на одной таблице.
string getRelationCountHash()
Получить хеш таблицы присоединения взаимосвязи.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
mixed getParentKey()
Получить значение ключа родительского локального ключа.
string getForeignKeyName()
Получить простой внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для связи.
string getLocalKeyName()
Получить локальный ключ для связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Database/Eloquent/Relations/HasMany.html