MorphMany
class MorphMany extends MorphOneOrMany (View source)
Свойства
| ForwardsCalls |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные макросы строк. | из Macroable |
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| protected Model | $parent | Экземпляр родительской модели. | из Relation |
| protected Model | $related | Экземпляр связанной модели. | из Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| static array | $morphMap | Массив для сопоставления имён классов с их морфными именами в базе данных. | из Relation |
| protected string | $foreignKey | Внешний ключ родительской модели. | из HasOneOrMany |
| protected string | $localKey | Локальный ключ родительской модели. | из HasOneOrMany |
| static protected int | $selfJoinCount | Количество самосоединений. | из HasOneOrMany |
| protected string | $morphType | Тип внешнего ключа для связи. | from MorphOneOrMany |
| protected string | $morphClass | Имя класса родительской модели. | from MorphOneOrMany |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters) Перенаправить вызов метода заданному объекту. | from ForwardsCalls |
| static void | throwBadMethodCallException(string $method) Выбросить исключение bad method call для указанного метода. | from ForwardsCalls |
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательское макрос. | from Macroable |
| static void | mixin(object $mixin) Смешать другой объект в класс. | from Macroable |
| static bool | hasMacro(string $name) Проверяет, зарегистрировано ли макрос. | from Macroable |
| static mixed | __callStatic(string $method, array $parameters) Динамически обработать вызовы класса. | from Macroable |
| mixed | __call(string $method, array $parameters) Динамически обработать вызовы класса. | from Macroable |
| void | __construct(Builder $query, Model $parent, string $type, string $id, string $localKey) Создать новый экземпляр связи "один ко многим" или "многие ко многим". | from MorphOneOrMany |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений для связи. | from Relation |
| 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() Получить результаты связи. |
| Коллекция | getEager() Получить отношение для ленивой загрузки. | из Отношение |
| Коллекция | get(array $columns = ['*']) Выполнить запрос в качестве оператора «select». | из Отношение |
| void | touch() Обновить метки времени всех связанных моделей для отношения. | из Отношение |
| int | rawUpdate(array $attributes = []) Выполнить сырое обновление по основному запросу. | из Отношение |
| Библиотека | getRelationExistenceCountQuery(Библиотека $query, Библиотека $parentQuery) Добавить ограничения для запроса подсчёта существования отношения. | из Отношение |
| Библиотека | getRelationExistenceQuery(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*']) Получить запрос для отношения. | из MorphOneOrMany |
| 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() Получить имя столбца "обновлено в". | from Relation |
| string | relatedUpdatedAt() Получить имя столбца "обновлено в" связанной модели. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить карту морфизма для полиморфных связей. | from Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Создаёт массив, индексированный по таблицам, из имён классов моделей. | from Relation |
| static string|null | getMorphedModel(string $alias) Получить модель, связанную с пользовательским полиморфным типом. | from Relation |
| void | __clone() Вынужденно клонирует базовый билдер запросов при клонировании. | from Relation |
| Model | make(array $attributes = []) Создать и вернуть несохранённую инстанцию связанной модели. | from HasOneOrMany |
| массив | matchOne(массив $models, Collection $results, строка $relation) Сопоставить загруженные с жадностью результаты с их единственными родителями. | из HasOneOrMany |
| массив | matchMany(массив $models, Collection $results, строка $relation) Сопоставить загруженные с жадностью результаты с их множественными родителями. | из HasOneOrMany |
| массив | matchOneOrMany(массив $models, Collection $results, строка $relation, строка $type) Сопоставить загруженные с жадностью результаты с их множественными родителями. | из HasOneOrMany |
| смешанный | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение отношения по типу один-к-одному или один-ко-многим. | из HasOneOrMany |
| массив | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| Коллекция|Модель | findOrNew(mixed $id, array $columns = ['*']) Найти модель по первичному ключу или вернуть новый экземпляр связанной модели. | из HasOneOrMany |
| Модель | firstOrNew(array $attributes, array $values = []) Получить первую связанную модель, соответствующую атрибутам, или создать ее экземпляр. | из HasOneOrMany |
| Модель | firstOrCreate(array $attributes, array $values = []) Получить первую связанную запись, соответствующую атрибутам, или создать ее. | из HasOneOrMany |
| Модель | updateOrCreate(array $attributes, array $values = []) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить ее значениями. | из HasOneOrMany |
| Модель|false | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | из HasOneOrMany |
| Traversable|array | saveMany(Traversable|array $models) Прикрепить коллекцию моделей к родительскому экземпляру. | from HasOneOrMany |
| Model | create(array $attributes = []) Создать новый экземпляр связанной модели. | from HasOneOrMany |
| Collection | createMany(array $records) Создать коллекцию новых экземпляров связанной модели. | from HasOneOrMany |
| void | setForeignAttributesForCreate(Model $model) Установить внешний идентификатор и тип для создания связанной модели. | from MorphOneOrMany |
| int | update(array $attributes) Выполнить обновление всех связанных моделей. | from HasOneOrMany |
| Builder | getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения на том же столе. | from HasOneOrMany |
| string | getRelationCountHash() Получить хэш таблицы связи. | from HasOneOrMany |
| string | getExistenceCompareKey() Получить ключ для сравнения с ключом родителя в запросе «has». | from HasOneOrMany |
| mixed | getParentKey() Получить значение ключа родительского локального ключа. | from HasOneOrMany |
| string | getForeignKeyName() Получить простой внешний ключ. | from HasOneOrMany |
| string | getQualifiedForeignKeyName() Получить внешний ключ для отношения. | from HasOneOrMany |
| строка | getQualifiedMorphType() Получить имя внешнего ключа «тип». | из MorphOneOrMany |
| строка | getMorphType() Получить простое имя морфного типа без таблицы. | из MorphOneOrMany |
| строка | getMorphClass() Получить имя класса родительской модели. | из MorphOneOrMany |
Подробности
protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)
Перенаправить вызов метода на заданный объект.
static protected пустое throwBadMethodCallException(строка $method)
Выбросить исключение плохого вызова метода для данного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательскую макрокоманду.
static void mixin(object $mixin)
Смешать другой объект в класс.
static bool hasMacro(string $name)
Проверить, зарегистрирована ли макрокоманда.
static mixed __callStatic(string $method, array $parameters)
Динамически обработать вызовы класса.
смешанный тип __call(string $method, array $parameters)
Динамически обрабатывать вызовы класса.
void __construct(Builder $query, Model $parent, string $type, string $id, string $localKey)
Создать новый экземпляр связи «один ко многим» или «многие ко многим».
статический смешанный тип noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для связи.
void addConstraints()
Установить базовые ограничения для запроса связи.
void addEagerConstraints(array $models)
Установить ограничения для жадной загрузки отношения.
array initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей.
array match(array $models, Collection $results, string $relation)
Сопоставить результаты жадной загрузки с их родителями.
mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для жадной загрузки.
Коллекция get(array $columns = ['*'])
Выполнить запрос в качестве оператора «select».
void touch()
Обновить все связанные модели для связи.
int rawUpdate(array $attributes = [])
Выполнить сырое обновление по базовому запросу.
Билдер getRelationExistenceCountQuery(Билдер $query, Билдер $parentQuery)
Добавить ограничения для запроса подсчёта существования связи.
Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Получить запрос для проверки существования связи.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для связи.
Builder getBaseQuery()
Получить базовый билдер запросов, управляющий Eloquent билдером.
Модель getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца "создано в".
string updatedAt()
Получить имя столбца "обновлено в".
string relatedUpdatedAt()
Получить имя столбца "обновлено в" для связанной модели.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить отображение morph для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт массив, индексированный таблицами, из имён классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
Модель make(array $attributes = [])
Создать и вернуть несохранённую инстанцию связанной модели.
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|Model findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели.
Модель firstOrNew(array $attributes, array $values = [])
Получить первую связанную модель, соответствующую атрибутам, или создать её.
Модель firstOrCreate(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Traversable|array saveMany(Traversable|array $models)
Прикрепить коллекцию моделей к родительскому экземпляру.
Модель create(array $attributes = [])
Создать новый экземпляр связанной модели.
Коллекция createMany(array $records)
Создать Коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор и тип для создания связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса связи на том же столе.
string getRelationCountHash()
Получить хеш таблицы соединения связи.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
mixed getParentKey()
Получить значение ключа родительского локального ключа.
string getForeignKeyName()
Получить простое внешнее ключевое поле.
string getQualifiedForeignKeyName()
Получить внешнее ключевое поле для отношения.
string getQualifiedMorphType()
Получить имя внешнего ключа "тип".
string getMorphType()
Получить простое имя типа морфизма без таблицы.
string getMorphClass()
Получить имя класса родительской модели.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Relations/MorphMany.html