HasMany
class HasMany extends HasOneOrMany (View source)
Свойства
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| protected Model | $parent | Экземпляр родительской модели. | из Relation |
| protected Model | $related | Экземпляр связанной модели. | из Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| static protected array | $morphMap | Массив для сопоставления имен классов с их именами морфизма в базе данных. | из Relation |
| protected string | $foreignKey | Внешний ключ родительской модели. | из HasOneOrMany |
| protected string | $localKey | Локальный ключ родительской модели. | из HasOneOrMany |
Методы
| void | __construct(Builder $query, Model $parent, string $foreignKey, string $localKey) Создать новый экземпляр отношения один-к-одному или один-ко-многим. | из HasOneOrMany |
| 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 |
| void | touch() Обновить метку времени для всех связанных моделей в рамках отношения. | из Relation |
| int | rawUpdate(array $attributes = []) Выполнить прямое обновление базового запроса. | из Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчёта отношения. | из HasOneOrMany |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений на отношении. | из Relation |
| 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() Получить имя столбца «created at». | из Relation |
| string | updatedAt() Получить имя столбца «updated at». | из Relation |
| string | relatedUpdatedAt() Получить имя столбца «updated at» связанной модели. | из Relation |
| string | wrap(string $value) Обернуть заданное значение с использованием грамматики родительского запроса. | из Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить морф-справочник для полиморфных отношений. | из Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Создаёт таблично-ключевой массив из имён классов моделей. | из Relation |
| mixed | __call(string $method, array $parameters) Обработать вызовы динамических методов отношения. | из Relation |
| void | __clone() Выполнить принудительное клонирование объекта базового построения запроса при клонировании. | из Relation |
| Builder | getRelationCountQueryForSelfRelation(Builder $query, Builder $parent) Добавить ограничения для запроса подсчёта отношения на одной таблице. | из HasOneOrMany |
| string | getRelationCountHash() Получить хэш таблицы соединения отношения. | из HasOneOrMany |
| array | matchOne(array $models, Collection $results, string $relation) Сопоставить загруженные с жадной загрузкой результаты с их единственным родителем. | из HasOneOrMany |
| array | matchMany(array $models, Collection $results, string $relation) Сопоставить загруженные с жадной загрузкой результаты с их множеством родителей. | из HasOneOrMany |
| массив | matchOneOrMany(массив $models, Collection $results, строка $relation, строка $type) Сопоставить загруженные с жадностью результаты с их родительскими элементами во множественном числе. | из HasOneOrMany |
| смешанный | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение связи по типу один или много. | из HasOneOrMany |
| массив | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу связи. | из HasOneOrMany |
| Модель|ложь | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | из HasOneOrMany |
| Collection|массив | saveMany(Collection|массив $models) Прикрепить коллекцию моделей к экземпляру родителя. | из HasOneOrMany |
| Collection|Модель | findOrNew(смешанный $id, массив $columns = ['*']) Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели. | из HasOneOrMany |
| Модель | firstOrNew(массив $attributes) Получить первую связанную модель, соответствующую атрибутам, или создать её. | из HasOneOrMany |
| Модель | firstOrCreate(массив $attributes) Получить первую связанную запись, соответствующую атрибутам, или создать её. | из HasOneOrMany |
| Модель | updateOrCreate(массив $attributes, массив $values = []) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | из HasOneOrMany |
| Модель | create(массив $attributes) Создать новый экземпляр связанной модели. | из HasOneOrMany |
| массив | createMany(массив $records) Создать массив новых экземпляров связанной модели. | из HasOneOrMany |
| целое | update(массив $attributes) Выполнить обновление всех связанных моделей. | из HasOneOrMany |
| строка | getHasCompareKey() Получить ключ для сравнения с родительским ключом в запросе "has". | из HasOneOrMany |
| строка | getForeignKey() Получить внешний ключ для связи. | из HasOneOrMany |
| строка | getPlainForeignKey() Получить простой внешний ключ. | из HasOneOrMany |
| смешанный | getParentKey() Получить значение ключа родительского локального ключа. | из HasOneOrMany |
Подробности
пустое __construct(Builder $query, Модель $parent, строка $foreignKey, строка $localKey)
Создать новый экземпляр связи "один ко многим".
пустое addConstraints()
Установить базовые ограничения на запрос к связи.
пустое addEagerConstraints(массив $models)
Установить ограничения для жадной загрузки связи.
массив initRelation(массив $models, строка $relation)
Инициализировать связь для набора моделей.
массив match(массив $models, Collection $results, строка $relation)
Сопоставить загруженные с жадностью результаты с их родителями.
смешанный getResults()
Получить результаты связи.
Collection getEager()
Получить связь для жадной загрузки.
пустое touch()
Обновить все связанные модели для связи.
int rawUpdate(array $attributes = [])
Выполнить необработанное обновление по основному запросу.
Builder getRelationCountQuery(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчёта отношений.
static mixed noConstraints(Closure $callback)
Вызвать обратный вызов с отключёнными ограничениями для отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовой запрос для отношения.
Builder getBaseQuery()
Получить базовую конструкцию запроса, управляющую Eloquent-конструкцией запроса.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Model getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца "created at".
string updatedAt()
Получить имя столбца "updated at".
string relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
string wrap(string $value)
Оборачивать заданное значение грамматикой родительского запроса.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить морф-отображение для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт таблично-ключевой массив из имён классов моделей.
mixed __call(string $method, array $parameters)
Обработка вызовов динамических методов для отношения.
void __clone()
Принудительно клонировать базовый конструктор запроса при клонировании.
Builder getRelationCountQueryForSelfRelation(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчёта отношений на одной таблице.
string getRelationCountHash()
Получить хэш таблицы соединения отношений.
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|array saveMany(Collection|array $models)
Присоединить коллекцию моделей к родительскому экземпляру.
Collection|Model findOrNew(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр связанной модели.
Model firstOrNew(array $attributes)
Получить первую запись связанной модели, соответствующую атрибутам, или создать ее.
Model firstOrCreate(array $attributes)
Получить первую запись связанной модели, соответствующую атрибутам, или создать ее.
Model updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить ее значениями.
Model create(array $attributes)
Создать новый экземпляр связанной модели.
array createMany(array $records)
Создать массив новых экземпляров связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
string getHasCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
string getForeignKey()
Получить внешний ключ для связи.
string getPlainForeignKey()
Получить простой внешний ключ.
mixed getParentKey()
Получить значение ключа родительского локального ключа.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.4/Illuminate/Database/Eloquent/Relations/HasMany.html