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) Создать новый экземпляр связи «один ко многим» или «многие ко многим». | from MorphOneOrMany |
| void | addConstraints() Установить базовые ограничения для запроса отношения. | from MorphOneOrMany |
| void | addEagerConstraints(array $models) Установить ограничения для жадного загрузки отношения. | from MorphOneOrMany |
| 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 = []) Выполнить прямое обновление базового запроса. | from Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Получить запрос для подсчёта отношения. | from MorphOneOrMany |
| 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 |
| static array | morphMap(array $map = null, bool $merge = true) Устанавливает или получает карту морфирования для полиморфных отношений. | from Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Создаёт таблично-ключевой массив из имён классов моделей. | from Relation |
| mixed | __call(string $method, array $parameters) Обрабатывает динамические вызовы методов для отношения. | from Relation |
| void | __clone() Принудительно клонирует базовый запрос при клонировании. | from Relation |
| Builder | getRelationCountQueryForSelfRelation(Builder $query, Builder $parent) Добавить ограничения для запроса подсчёта отношения на той же таблице. | from HasOneOrMany |
| string | getRelationCountHash() Получить хэш таблицы соединения для отношения. | from HasOneOrMany |
| array | matchOne(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с единственной родительской моделью. | from HasOneOrMany |
| array | matchMany(array $models, Collection $results, string $relation) Сопоставить загруженные результаты со многими родительскими моделями. | from 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)
Сопоставить загруженные с помощью eager loading результаты с их родительскими элементами.
смешанный тип getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для eager loading.
пустое значение touch()
Обновить все связанные модели для отношения.
целое число rawUpdate(массив $attributes = [])
Выполнить raw обновление по базовому запросу.
статический смешанный тип noConstraints(Closure $callback)
Выполнить обратный вызов с отключёнными ограничениями для отношения.
защищённый массив getKeys(массив $models, строка $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый конструктор запроса, управляющий конструктором Eloquent.
Модель getParent()
Получить родительскую модель отношения.
строка getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя столбца "created at".
строка updatedAt()
Получить имя столбца "updated at".
строка relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
строка 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)
Установить внешний ID и тип для создания связанной модели.
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.5/Illuminate/Database/Eloquent/Relations/MorphMany.html