MorphToMany
class MorphToMany extends BelongsToMany (View source)
Методы
| InteractsWithPivotTable |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | from Macroable |
| protected Builder | $query | Экземпляр Eloquent-строителя запросов. | from Relation |
| protected Model | $parent | Экземпляр родительской модели. | from Relation |
| protected Model | $related | Экземпляр связанной модели. | from Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | from Relation |
| static protected array | $morphMap | Массив для сопоставления имен классов с их именами морфизма в базе данных. | from Relation |
| protected string | $table | Промежуточная таблица для отношения. | from BelongsToMany |
| protected string | $foreignPivotKey | Внешний ключ родительской модели. | from BelongsToMany |
| protected string | $relatedPivotKey | Связанный ключ отношения. | from BelongsToMany |
| protected string | $parentKey | Имя ключа родительской модели. | from BelongsToMany |
| protected string | $relatedKey | Имя ключа связанной модели. | from BelongsToMany |
| protected string | $relationName | Имя отношения. | from BelongsToMany |
| protected array | $pivotColumns | Столбцы промежуточной таблицы для извлечения. | from BelongsToMany |
| protected array | $pivotWheres | Любые ограничения промежуточной таблицы для условий where. | from BelongsToMany |
| protected array | $pivotWhereIns | Любые ограничения промежуточной таблицы для условий whereIn. | from BelongsToMany |
| protected string | $pivotCreatedAt | Пользовательский столбец промежуточной таблицы для отметки времени created_at. | from BelongsToMany |
| protected string | $pivotUpdatedAt | Пользовательский столбец промежуточной таблицы для отметки времени updated_at. | from BelongsToMany |
| protected string | $using | Имя класса пользовательской модели pivot для использования в отношении. | from BelongsToMany |
| protected string | $accessor | Имя аксессора для использования для отношения "pivot". | from BelongsToMany |
| static protected int | $selfJoinCount | Количество самосвязей. | from BelongsToMany |
| protected string | $morphType | Тип полиморфного отношения. | |
| protected string | $morphClass | Имя класса ограничения типа морфизма. | |
| protected bool | $inverse | Указывает, подключаем ли мы обратное отношение. |
Методы
| 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 $name, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string $relationName = null, bool $inverse = false) Создать новый экземпляр отношения many-to-many с морфизмом. | |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений в отношении. | from Relation |
| void | addConstraints() Установить базовые ограничения для запроса отношения. | from BelongsToMany |
| void | addEagerConstraints(array $models) Установить ограничения для отложенной загрузки отношения. | |
| array | initRelation(array $models, string $relation) Инициализировать отношение для набора моделей. | from BelongsToMany |
| array | match(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их родительскими элементами. | from BelongsToMany |
| mixed | getResults() Получить результаты отношения. | from BelongsToMany |
| Collection | getEager() Получить отношение для отложенной загрузки. | from Relation |
| Collection | get(array $columns = ['*']) Выполнить запрос как операцию «select». | from BelongsToMany |
| void | touch() Обновить все связанные модели для отношения. | from BelongsToMany |
| int | rawUpdate(array $attributes = []) Выполнить прямое обновление базы данных. | from Relation |
| Builder | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery) Добавить ограничения для запроса подсчета отношений. | from Relation |
| Builder | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса подсчета отношений. | |
| 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 BelongsToMany |
| Model | getRelated() Получить связанную модель отношения. | from Relation |
| string | createdAt() Получить имя колонки «created_at». | from BelongsToMany |
| string | updatedAt() Получить имя колонки «updated_at». | from BelongsToMany |
| string | relatedUpdatedAt() Получить имя колонки «updated_at» связанной модели. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить карту морфизма для полиморфных отношений. | from Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Создает таблично-ключевой массив из имен классов моделей. | from Relation |
| статический строка|null | getMorphedModel(строка $alias) Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone() Принудительно клонировать базовый генератор запросов при клонировании. | из Relation |
| массив | toggle(смешанный $ids, bool $touch = true) Переключает модель (или модели) из родительской. | из InteractsWithPivotTable |
| массив | syncWithoutDetaching(Collection|массив $ids) Синхронизировать промежуточные таблицы со списком идентификаторов без отсоединения. | из InteractsWithPivotTable |
| массив | sync(Collection|Collection|массив $ids, bool $detaching = true) Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей. | из InteractsWithPivotTable |
| массив | formatRecordsList(массив $records) Отформатировать список записей синхронизации/переключения так, чтобы он индексировался по идентификатору. | из InteractsWithPivotTable |
| массив | attachNew(массив $records, массив $current, bool $touch = true) Присоединить все записи, которых нет в заданных текущих записях. | из InteractsWithPivotTable |
| целое | updateExistingPivot(смешанный $id, массив $attributes, bool $touch = true) Обновить существующую запись pivot в таблице. | из InteractsWithPivotTable |
| void | attach(смешанный $id, массив $attributes = [], bool $touch = true) Присоединить модель к родителю. | из InteractsWithPivotTable |
| массив | formatAttachRecords(массив $ids, массив $attributes) Создать массив записей для вставки в таблицу pivot. | из InteractsWithPivotTable |
| массив | formatAttachRecord(целое $key, смешанный $value, массив $attributes, bool $hasTimestamps) Создать полную нагрузку записи присоединения. | из InteractsWithPivotTable |
| массив | extractAttachIdAndAttributes(смешанный $key, смешанный $value, массив $attributes) Получить идентификатор записи присоединения и дополнительные атрибуты. | из InteractsWithPivotTable |
| массив | baseAttachRecord(целое $id, bool $timed) Создать новую запись присоединения pivot. | |
| массив | addTimestampsToAttachment(массив $record, bool $exists = false) Установить метки времени создания и обновления для записи присоединения. | из InteractsWithPivotTable |
| bool | hasPivotColumn(строка $column) Определить, определен ли заданный столбец как столбец pivot. | из InteractsWithPivotTable |
| целое | detach(смешанный $ids = null, bool $touch = true) Отсоединить модели от отношения. | из InteractsWithPivotTable |
| Pivot | newPivot(массив $attributes = [], bool $exists = false) Создать новый экземпляр модели pivot. | |
| Pivot | newExistingPivot(массив $attributes = []) Создать новый экземпляр существующей модели pivot. | из InteractsWithPivotTable |
| Builder | newPivotStatement() Получить новый базовый генератор запросов для таблицы pivot. | из InteractsWithPivotTable |
| Builder | newPivotStatementForId(смешанный $id) Получить новый оператор pivot для заданного идентификатора «другого». | из InteractsWithPivotTable |
| Builder | newPivotQuery() Создать новый генератор запросов для таблицы pivot. | |
| $this | withPivot(массив|смешанный $columns) Установить столбцы в таблице pivot для извлечения. | из InteractsWithPivotTable |
| массив | parseIds(смешанный $value) Получить все идентификаторы из данного смешанного значения. | из InteractsWithPivotTable |
| массив | castKeys(массив $keys) Преобразовать заданные ключи в целые числа, если они числовые, и в строки в противном случае. | из InteractsWithPivotTable |
| смешанный | castKey(смешанный $key) Преобразовать заданный ключ в целое число, если он числовой. | из InteractsWithPivotTable |
| массив | castAttributes(массив $attributes) Преобразовать заданные атрибуты pivot. | из InteractsWithPivotTable |
| $this | performJoin(Builder|null $query = null) Установить условие объединения для запроса связи. | from BelongsToMany |
| $this | addWhereConstraints() Установить условие where для запроса связи. | |
| array | buildDictionary(Collection $results) Построить словарь модели, индексированный по внешнему ключу связи. | from BelongsToMany |
| BelongsToMany | using(string $class) Указать пользовательскую модель связующей таблицы для отношения. | from BelongsToMany |
| BelongsToMany | as(string $accessor) Указать пользовательский аксессор связующей таблицы для отношения. | from BelongsToMany |
| BelongsToMany | wherePivot(string $column, string $operator = null, mixed $value = null, string $boolean = 'and') Установить условие where для столбца связующей таблицы. | from BelongsToMany |
| BelongsToMany | wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false) Установить условие "where in" для столбца связующей таблицы. | from BelongsToMany |
| BelongsToMany | orWherePivot(string $column, string $operator = null, mixed $value = null) Установить условие "or where" для столбца связующей таблицы. | from BelongsToMany |
| BelongsToMany | orWherePivotIn(string $column, mixed $values) Установить условие "or where in" для столбца связующей таблицы. | from BelongsToMany |
| Collection|Model | findOrNew(mixed $id, array $columns = ['*']) Найти связанную модель по первичному ключу или вернуть новый экземпляр связанной модели. | from BelongsToMany |
| Model | firstOrNew(array $attributes) Получить первую связанную модель, соответствующую атрибутам, или создать её. | from BelongsToMany |
| Model | firstOrCreate(array $attributes, array $joining = [], bool $touch = true) Получить первую связанную запись, соответствующую атрибутам, или создать её. | from BelongsToMany |
| Model | updateOrCreate(array $attributes, array $values = [], array $joining = [], bool $touch = true) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | from BelongsToMany |
| Model|Collection|null | find(mixed $id, array $columns = ['*']) Найти связанную модель по её первичному ключу. | from BelongsToMany |
| Collection | findMany(mixed $ids, array $columns = ['*']) Найти несколько связанных моделей по их первичным ключам. | from BelongsToMany |
| Model|Collection | findOrFail(mixed $id, array $columns = ['*']) Найти связанную модель по её первичному ключу или бросить исключение. | from BelongsToMany |
| mixed | first(array $columns = ['*']) Выполнить запрос и получить первый результат. | from BelongsToMany |
| Model|BelongsToMany | firstOrFail(array $columns = ['*']) Выполнить запрос и получить первый результат или бросить исключение. | from BelongsToMany |
| BelongsToMany | shouldSelect(array $columns = ['*']) Получить столбцы для выбора в запросе связи. | from BelongsToMany |
| array | aliasedPivotColumns() Получить столбцы связующей таблицы для отношения. | from BelongsToMany |
| LengthAwarePaginator | paginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null) Получить разбиение для запроса "select". | from BelongsToMany |
| Paginator | simplePaginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null) Разбить результаты запроса на простую страницу. | from BelongsToMany |
| bool | chunk(int $count, callable $callback) Разбить результаты запроса на куски. | from BelongsToMany |
| void | hydratePivotRelation(array $models) Заполнить отношение связующей таблицы для моделей. | from BelongsToMany |
| массив | migratePivotAttributes(Модель $model) Получить атрибуты связи из модели. | из BelongsToMany |
| void | touchIfTouching() Если мы касаемся родительской модели, коснитесь её. | из BelongsToMany |
| bool | touchingParent() Определить, нужно ли касаться родительской модели при синхронизации. | из BelongsToMany |
| строка | guessInverseRelation() Попытка определить имя обратного отношения. | из BelongsToMany |
| Коллекция | allRelatedIds() Получить все ID связанных моделей. | из BelongsToMany |
| Модель | save(Модель $model, array $pivotAttributes = [], bool $touch = true) Сохранить новую модель и прикрепить её к родительской модели. | из BelongsToMany |
| массив | saveMany(Коллекция|array $models, array $pivotAttributes = []) Сохранить массив новых моделей и прикрепить их к родительской модели. | из BelongsToMany |
| Модель | create(array $attributes = [], array $joining = [], bool $touch = true) Создать новый экземпляр связанной модели. | из BelongsToMany |
| массив | createMany(array $records, array $joinings = []) Создать массив новых экземпляров связанных моделей. | из BelongsToMany |
| Билдер | getRelationExistenceQueryForSelfJoin(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения на одном и том же таблице. | из BelongsToMany |
| строка | getExistenceCompareKey() Получить ключ для сравнения с ключом родительской модели в запросе «has». | из BelongsToMany |
| строка | getRelationCountHash() Получить хэш таблицы связи. | из BelongsToMany |
| BelongsToMany | withTimestamps(mixed $createdAt = null, mixed $updatedAt = null) Указать, что таблица связи имеет метки создания и обновления. | из BelongsToMany |
| строка | getQualifiedForeignPivotKeyName() Получить полностью квалифицированное имя внешнего ключа для связи. | из BelongsToMany |
| строка | getQualifiedRelatedPivotKeyName() Получить полностью квалифицированное имя «связанного ключа» для связи. | из BelongsToMany |
| строка | getTable() Получить промежуточную таблицу для связи. | из BelongsToMany |
| строка | getRelationName() Получить имя связи для отношения. | из BelongsToMany |
| строка | getMorphType() Получить имя внешнего ключа «тип». | |
| строка | getMorphClass() Получить имя класса родительской модели. |
Подробности
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)
Динамическое обращение к классу.
mixed __call(string $method, array $parameters)
Динамическое обращение к классу.
void __construct(Builder $query, Model $parent, string $name, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string $relationName = null, bool $inverse = false)
Создать новый экземпляр связи "многие ко многим" с морфированием.
static mixed 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()
Получить связь для жадной загрузки.
Collection get(array $columns = ['*'])
Выполнить запрос как операцию «выбрать».
void touch()
Обновить все связанные модели для связи. Например: Обновить все роли, связанные с этим пользователем.
int rawUpdate(array $attributes = [])
Выполнить прямое обновление по основному запросу.
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчёта существования связи.
Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса подсчёта существования связи.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для связи.
Builder getBaseQuery()
Получить базовый конструктор запроса, управляющий Eloquent-конструктором запросов.
Model getParent()
Получить родительскую модель связи.
string getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа для связи.
Model getRelated()
Получить связанную модель связи.
string createdAt()
Получить имя столбца «создано в».
string updatedAt()
Получить имя столбца «обновлено в».
string relatedUpdatedAt()
Получить имя столбца «обновлено в» связанной модели.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить морфинг-отображение для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт массив с ключами таблицы из имён классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Вынужденное клонирование подчинённого билдера запросов при клонировании.
array toggle(mixed $ids, bool $touch = true)
Переключает модель (или модели) от родительской.
Каждая существующая модель открепляется, а несуществующие — прикрепляются.
array syncWithoutDetaching(Collection|array $ids)
Синхронизирует промежуточные таблицы со списком ID без открепления.
array sync(Collection|Collection|array $ids, bool $detaching = true)
Синхронизирует промежуточные таблицы со списком ID или коллекцией моделей.
protected array formatRecordsList(array $records)
Форматирует список записей синхронизации/переключения так, чтобы он индексировался по ID.
protected array attachNew(array $records, array $current, bool $touch = true)
Присоединить все записи, которых нет в заданных текущих записях.
int updateExistingPivot(mixed $id, array $attributes, bool $touch = true)
Обновить существующую запись pivot в таблице.
void attach(mixed $id, array $attributes = [], bool $touch = true)
Прикрепить модель к родителю.
protected array formatAttachRecords(array $ids, array $attributes)
Создать массив записей для вставки в таблицу pivot.
protected array formatAttachRecord(int $key, mixed $value, array $attributes, bool $hasTimestamps)
Создать полный payload записи прикрепления.
protected array extractAttachIdAndAttributes(mixed $key, mixed $value, array $attributes)
Получить ID записи прикрепления и дополнительные атрибуты.
protected array baseAttachRecord(int $id, bool $timed)
Создать новую запись прикрепления pivot.
protected array addTimestampsToAttachment(array $record, bool $exists = false)
Установить метки времени создания и обновления в записи прикрепления.
protected bool hasPivotColumn(string $column)
Определить, определён ли заданный столбец как столбец pivot.
int detach(mixed $ids = null, bool $touch = true)
Отсоединить модели от связи.
Pivot newPivot(array $attributes = [], bool $exists = false)
Создать новый экземпляр модели мостика.
Pivot newExistingPivot(array $attributes = [])
Создать новый существующий экземпляр модели мостика.
Builder newPivotStatement()
Получить новый обычный билдер запросов для таблицы мостика.
Builder newPivotStatementForId(mixed $id)
Получить новый запрос для мостика для данного ID.
protected Builder newPivotQuery()
Создать новый билдер запросов для таблицы мостика.
$this withPivot(array|mixed $columns)
Установить столбцы в таблице мостика для извлечения.
protected array parseIds(mixed $value)
Получить все ID из заданного значения смешанного типа.
protected array castKeys(array $keys)
Преобразовать заданные ключи в целые числа, если они числовые, и в строки в противном случае.
protected mixed castKey(mixed $key)
Преобразовать заданный ключ в целое число, если он числовой.
protected array castAttributes(array $attributes)
Преобразовать заданные атрибуты мостика.
protected $this performJoin(Builder|null $query = null)
Установить условие соединения для запроса связи.
protected $this addWhereConstraints()
Установить условие where для запроса связи.
protected array buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу связи.
BelongsToMany using(string $class)
Указать пользовательскую модель мостика для использования в связи.
BelongsToMany as(string $accessor)
Указать пользовательский аксессор мостика для использования в связи.
BelongsToMany wherePivot(string $column, string $operator = null, mixed $value = null, string $boolean = 'and')
Установить условие where для столбца таблицы мостика.
BelongsToMany wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)
Установить условие «where in» для столбца таблицы мостика.
BelongsToMany orWherePivot(string $column, string $operator = null, mixed $value = null)
Установить условие «или где» для столбца таблицы связей.
BelongsToMany orWherePivotIn(string $column, mixed $values)
Установить условие «или где в» для столбца таблицы связей.
Collection|Модель findOrNew(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или вернуть новую инстанцию связанной модели.
Модель firstOrNew(array $attributes)
Получить первую запись связанной модели, соответствующую атрибутам, или создать её.
Модель firstOrCreate(array $attributes, array $joining = [], bool $touch = true)
Получить первую запись связанной модели, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [], array $joining = [], bool $touch = true)
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Модель|Коллекция|null find(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу.
Коллекция findMany(mixed $ids, array $columns = ['*'])
Найти несколько связанных моделей по их первичным ключам.
Модель|Коллекция findOrFail(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу, или выбросить исключение.
mixed first(array $columns = ['*'])
Выполнить запрос и получить первый результат.
Модель|BelongsToMany firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат, или выбросить исключение.
protected BelongsToMany shouldSelect(array $columns = ['*'])
Получить столбцы выбора для запроса отношения.
protected array aliasedPivotColumns()
Получить столбцы связей для отношения.
«pivot_» добавляется в префикс каждого столбца для лёгкого удаления позже.
LengthAwarePaginator paginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Получить разбиение на страницы для оператора «select».
Paginator simplePaginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Разбить заданный запрос на простую страницу.
bool chunk(int $count, callable $callback)
Разбить результаты запроса на куски.
protected void hydratePivotRelation(array $models)
Заполнить отношение таблицы pivot для моделей.
protected array migratePivotAttributes(Model $model)
Получить атрибуты pivot из модели.
void touchIfTouching()
Если мы касаемся родительской модели, коснитесь ее.
protected bool touchingParent()
Определить, нужно ли коснуться родителя при синхронизации.
protected string guessInverseRelation()
Попытка угадать имя обратного отношения.
Collection allRelatedIds()
Получить все идентификаторы связанных моделей.
Model save(Model $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель и прикрепить ее к родительской модели.
array saveMany(Collection|array $models, array $pivotAttributes = [])
Сохранить массив новых моделей и прикрепить их к родительской модели.
Model create(array $attributes = [], array $joining = [], bool $touch = true)
Создать новый экземпляр связанной модели.
array createMany(array $records, array $joinings = [])
Создать массив новых экземпляров связанных моделей.
Builder getRelationExistenceQueryForSelfJoin(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на той же таблице.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
string getRelationCountHash()
Получить хеш таблицы объединения отношений.
BelongsToMany withTimestamps(mixed $createdAt = null, mixed $updatedAt = null)
Указать, что таблица pivot имеет метки времени создания и обновления.
string getQualifiedForeignPivotKeyName()
Получить полностью квалифицированный внешний ключ для отношения.
string getQualifiedRelatedPivotKeyName()
Получить полностью квалифицированный "связанный ключ" для отношения.
string getTable()
Получить промежуточную таблицу для отношения.
string getRelationName()
Получить имя отношения для отношения.
string getMorphType()
Получить имя внешнего ключа "type".
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/MorphToMany.html