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 | Массив для сопоставления имен классов с их именами morph в базе данных. | 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 = ['*']) Выполнить запрос как операцию "выбор". | из Отношения |
| void | touch() Обновить все связанные модели для отношения. | из Отношения |
| int | rawUpdate(array $attributes = []) Выполнить сырое обновление базового запроса. | из Отношения |
| Билдер | getRelationExistenceCountQuery(Билдер $query, Билдер $parentQuery) Добавить ограничения для запроса подсчёта существования отношения. | из Отношения |
| Билдер | getRelationExistenceQuery(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса существования отношения. | из ОдинКОдномуИлиНескольким |
| array | getKeys(array $models, string $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() Получить имя столбца "обновлено в". | from Relation |
| string | relatedUpdatedAt() Получить имя столбца "обновлено в" связанной модели. | from Relation |
| string | whereInMethod(Model $model, string $key) Получить имя метода "where in" для ленивой загрузки. | 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 |
| Модель | make(array $attributes = []) Создать и вернуть несохранённую инстанцию связанной модели. | из 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 |
| массив | buildDictionary(Коллекция $results) Создать словарь модели, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| Collection|Модель | findOrNew(mixed $id, array $columns = ['*']) Найти модель по первичному ключу или вернуть новый экземпляр связанной модели. | from HasOneOrMany |
| Модель | firstOrNew(array $attributes, array $values = []) Получить первую запись связанной модели, соответствующую атрибутам, или создать её экземпляр. | from HasOneOrMany |
| Модель | firstOrCreate(array $attributes, array $values = []) Получить первую запись, соответствующую атрибутам, или создать её. | from HasOneOrMany |
| Модель | updateOrCreate(array $attributes, array $values = []) Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями. | from HasOneOrMany |
| Модель|false | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | from HasOneOrMany |
| iterable | saveMany(iterable $models) Прикрепить коллекцию моделей к родительскому экземпляру. | from HasOneOrMany |
| Модель | create(array $attributes = []) Создать новый экземпляр связанной модели. | from HasOneOrMany |
| Коллекция | createMany(array $records) Создать коллекцию новых экземпляров связанной модели. | from HasOneOrMany |
| void | setForeignAttributesForCreate(Модель $model) Установить внешний идентификатор для создания связанной модели. | from HasOneOrMany |
| Билдер | getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса отношений на той же таблице. | from HasOneOrMany |
| string | getRelationCountHash() Получить хеш таблицы соединения отношений. | from HasOneOrMany |
| строка | getExistenceCompareKey() Получить ключ для сравнения с родительским ключом в запросе "has". | из HasOneOrMany |
| смешанный | getParentKey() Получить значение ключа родительского локального ключа. | из HasOneOrMany |
| строка | getForeignKeyName() Получить простой внешний ключ. | из HasOneOrMany |
| строка | getQualifiedForeignKeyName() Получить внешний ключ для связи. | из HasOneOrMany |
| строка | getLocalKeyName() Получить локальный ключ для связи. | из HasOneOrMany |
Подробности
protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)
Переадресовать вызов метода заданному объекту.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение плохого вызова метода для данного метода.
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()
Получить результаты отношения.
Коллекция getEager()
Получить отношение для ленивой загрузки.
Коллекция 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 $key = null)
Получить все первичные ключи для массива моделей.
Билдер getQuery()
Получить основное запрошенное выражение для связи.
Билдер getBaseQuery()
Получить базовое конструктор запроса, управляющего конструктором Eloquent.
Модель getParent()
Получить родительскую модель связи.
строка getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Модель getRelated()
Получить связанную модель связи.
строка createdAt()
Получить имя столбца "создано в".
string updatedAt()
Получить имя колонки "updated at".
string relatedUpdatedAt()
Получить имя колонки "updated at" связанной модели.
protected string whereInMethod(Модель $model, string $key)
Получить имя метода "where in" для леничной загрузки.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить морфинг-отображение для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создает таблично-ключевой массив из имён классов моделей.
статический string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Вынудить клонирование базового создателя запроса при клонировании.
Модель make(array $attributes = [])
Создать и вернуть несохранённую копию связанной модели.
array matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственными родителями.
array matchMany(array $models, Collection $results, string $relation)
Сопоставить загруженные с жадностью результаты с их множественными родителями.
protected array matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты с их множественными родителями.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу один или многие.
protected массив 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)
Прикрепить коллекцию моделей к родительскому экземпляру.
Model create(array $attributes = [])
Создать новый экземпляр связанной модели.
Collection createMany(array $records)
Создать Коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Model $model)
Установить внешний идентификатор для создания связанной модели.
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $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/5.8/Illuminate/Database/Eloquent/Relations/HasMany.html