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) Установить или получить карту morph для полиморфных связей. | из 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, Коллекция $results, строка $relation, строка $type) Сопоставить загруженные с нетерпением результаты со своими родителями. | из HasOneOrMany |
| смешанное | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение отношения по типу один или многие. | из HasOneOrMany |
| массив | buildDictionary(Коллекция $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| Модель|ложь | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | из MorphOneOrMany |
| Коллекция|массив | saveMany(Коллекция|массив $models) Прикрепить коллекцию моделей к родительскому экземпляру. | из HasOneOrMany |
| Коллекция|Модель | 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 |
| void | setForeignAttributesForCreate(Модель $model) Установить внешний идентификатор и тип для создания связанной модели. | из MorphOneOrMany |
| строка | getMorphType() Получить имя внешнего ключа «тип». | из MorphOneOrMany |
| строка | getPlainMorphType() Получить простое имя типа морфизма без таблицы. | из MorphOneOrMany |
| строка | getMorphClass() Получить имя класса родительской модели. | из MorphOneOrMany |
Подробности
void __construct(Билдер $query, Модель $parent, строка $type, строка $id, строка $localKey)
Создать новый экземпляр отношения морф один ко многим.
void addConstraints()
Установить базовые ограничения на запрос отношения.
void addEagerConstraints(массив $models)
Установить ограничения для нетерпеливой загрузки отношения.
массив initRelation(массив $models, строка $relation)
Инициализировать отношение на наборе моделей.
массив match(массив $models, Collection $results, строка $relation)
Сопоставить загруженные результаты с их родителями.
смешанный тип getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для ленивой загрузки.
void touch()
Обновить все связанные модели для отношения.
целое число rawUpdate(массив $attributes = [])
Выполнить прямое обновление базового запроса.
статический смешанный тип noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для отношения.
защищенное массив getKeys(массив $models, строка $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent.
Model getParent()
Получить родительскую модель отношения.
строка getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Model getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя колонки «создано в».
строка updatedAt()
Получить имя колонки «обновлено в».
строка relatedUpdatedAt()
Получить имя колонки «обновлено в» для связанной модели.
строка wrap(строка $value)
Оборачивает заданное значение с помощью грамматики родительского запроса.
статический массив morphMap(массив $map = null, булево $merge = true)
Установить или получить карту morph для полиморфных отношений.
статический защищенное массив|null buildMorphMapFromModels(массив $models = null)
Создает таблично-ключевой массив из имен классов моделей.
смешанный тип __call(строка $method, массив $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)
Создать словарь моделей, индексированный по внешнему ключу связи.
Коллекция|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.4/Illuminate/Database/Eloquent/Relations/MorphMany.html