HasMany
class HasMany extends HasOneOrMany (View source)
Свойства
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | from Relation |
| protected Model | $parent | Экземпляр родительской модели. | from Relation |
| protected Model | $related | Экземпляр связанной модели. | from Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | from Relation |
| protected string | $foreignKey | Внешний ключ родительской модели. | from HasOneOrMany |
| protected string | $localKey | Локальный ключ родительской модели. | from HasOneOrMany |
Методы
| void | __construct(Builder $query, Model $parent, string $foreignKey, string $localKey) Создать новый экземпляр отношения "многие ко многим". | from HasOneOrMany |
| 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() Получить результаты отношения. | |
| Collection | getEager() Получить отношение для ленивой загрузки. | from Relation |
| void | touch() Обновить метки времени всех связанных моделей для отношения. | from Relation |
| int | rawUpdate(array $attributes = array()) Выполнить прямое обновление базового запроса. | from Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчёта отношения. | from Relation |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений для отношения. | from Relation |
| 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() Получить имя колонки "updated at". | from Relation |
| string | relatedUpdatedAt() Получить имя колонки "updated at" связанной модели. | from Relation |
| string | wrap(string $value) Обернуть значение с помощью грамматики родительского запроса. | from Relation |
| mixed | __call(string $method, array $parameters) Обработать динамические вызовы методов отношения. | from Relation |
| array | matchOne(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их единственным родителем. | from HasOneOrMany |
| array | matchMany(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их многими родителями. | from HasOneOrMany |
| array | matchOneOrMany(array $models, Collection $results, string $relation, string $type) Сопоставить загруженные результаты с их многими родителями. | from HasOneOrMany |
| mixed | getRelationValue(array $dictionary, string $key, string $type) Получить значение отношения по типу "один ко многим" или "один к одному". | from HasOneOrMany |
| array | buildDictionary(Collection $results) Построить словарь моделей, индексированный по внешнему ключу отношения. | from HasOneOrMany |
| Model | save(Model $model) Присоединить экземпляр модели к родительской модели. | from HasOneOrMany |
| array | saveMany(array $models) Присоединить массив моделей к родительскому экземпляру. | from HasOneOrMany |
| Модель | create(array $attributes) Создать новый экземпляр связанной модели. | из HasOneOrMany |
| массив | createMany(array $records) Создать массив новых экземпляров связанной модели. | из HasOneOrMany |
| целое число | update(array $attributes) Выполнить обновление всех связанных моделей. | из HasOneOrMany |
| строка | getHasCompareKey() Получить ключ для сравнения с ключом родительской записи в запросе "has". | из HasOneOrMany |
| строка | getForeignKey() Получить внешний ключ для связи. | из HasOneOrMany |
| строка | getPlainForeignKey() Получить простой внешний ключ. | из HasOneOrMany |
| смешанный тип | getParentKey() Получить значение ключа родительской записи. | из HasOneOrMany |
Подробности
void __construct(Builder $query, Model $parent, string $foreignKey, string $localKey)
Создать новый экземпляр связи "многие ко многим".
void addConstraints()
Установить базовые ограничения в запросе связи.
void addEagerConstraints(array $models)
Установить ограничения для отложенной загрузки связи.
массив initRelation(array $models, string $relation)
Инициализировать связь для набора моделей.
массив match(array $models, Collection $results, string $relation)
Сопоставить результаты отложенной загрузки с их родительскими записями.
смешанный тип getResults()
Получить результаты связи.
Collection getEager()
Получить связь для отложенной загрузки.
void touch()
Обновить метку времени для всех связанных моделей в связи.
целое число rawUpdate(array $attributes = array())
Выполнить прямое обновление в базе данных по основному запросу.
Builder getRelationCountQuery(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчёта связанных записей.
static смешанный тип noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для связи.
protected массив getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для связи.
Builder getBaseQuery()
Получить базовый конструктор запроса, используемый для Eloquent конструктора запросов.
Model getParent()
Получить родительскую модель связи.
строка getQualifiedParentKeyName()
Получить полное имя ключа родительской записи.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца «created at».
string updatedAt()
Получить имя столбца «updated at».
string relatedUpdatedAt()
Получить имя столбца «updated at» связанной модели.
string wrap(string $value)
Оборачивает заданное значение с помощью синтаксиса родительского запроса.
mixed __call(string $method, array $parameters)
Обработка вызовов динамических методов отношения.
array matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные результаты с их единственным родителем.
array matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные результаты с их многими родителями.
protected array matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставить загруженные результаты с их многими родителями.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение отношения по типу «один» или «многие».
protected array buildDictionary(Коллекция $results)
Создать словарь моделей, индексированный по внешнему ключу отношения.
array saveMany(array $models)
Прикрепить массив моделей к родительскому экземпляру.
Модель 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/4.2/Illuminate/Database/Eloquent/Relations/HasMany.html