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