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)
Перенаправить вызов метода заданному объекту.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение плохого вызова метода для данного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательский макрос.
static void mixin(object $mixin)
Смешать другой объект в класс.
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 = ['*'])
Выполнить запрос как операцию "select".
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)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для связи.
Builder getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent.
Model getParent()
Получить родительскую модель связи.
string getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа.
Model getRelated()
Получить связанную модель связи.
string createdAt()
Получить имя колонки «создано в».
string updatedAt()
Получить имя колонки «обновлено в».
string relatedUpdatedAt()
Получить имя колонки «обновлено в» связанной модели.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить карту morph для полиморфных связей.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт таблично-ключевой массив из имён классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с настраиваемым полиморфным типом.
void __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
Model make(array $attributes = [])
Создать и вернуть несохранённый экземпляр связанной модели.
array matchOne(array $models, Collection $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 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 = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Перечисляемый|array saveMany(Перечисляемый|array $models)
Прикрепить коллекцию моделей к экземпляру родителя.
Модель create(array $attributes = [])
Создать новый экземпляр связанной модели.
Коллекция createMany(array $records)
Создать коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор для создания связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на той же таблице.
string getRelationCountHash()
Получить хэш таблицы объединения отношения.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе «has».
mixed getParentKey()
Получить значение ключа родительского локального ключа.
string getForeignKeyName()
Получить простой внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для отношения.
© 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