MorphToMany
класс MorphToMany расширяет BelongsToMany (View source)
Трейты
| InteractsWithPivotTable | |
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый Builder | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| защищённый Model | $parent | Экземпляр родительской модели. | из Relation |
| защищённый Model | $related | Экземпляр связанной модели. | из Relation |
| статический защищённый bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами морфизма в базе данных. | из Relation |
| защищённый строка | $table | Промежуточная таблица для отношения. | из BelongsToMany |
| защищённый строка | $foreignPivotKey | Внешний ключ родительской модели. | из BelongsToMany |
| защищённый строка | $relatedPivotKey | Связанный ключ отношения. | из BelongsToMany |
| защищённый строка | $parentKey | Имя ключа родительской модели. | из BelongsToMany |
| защищённый строка | $relatedKey | Имя ключа связанной модели. | из BelongsToMany |
| защищённый строка | $relationName | Название отношения. | из BelongsToMany |
| защищённый массив | $pivotColumns | Столбцы промежуточной таблицы для извлечения. | из BelongsToMany |
| защищённый массив | $pivotWheres | Любые ограничения для промежуточной таблицы в условиях where. | из BelongsToMany |
| защищённый массив | $pivotWhereIns | Любые ограничения для промежуточной таблицы в условиях whereIn. | из BelongsToMany |
| защищённый массив | $pivotValues | Значения по умолчанию для столбцов pivot. | из BelongsToMany |
| bool | $withTimestamps | Указывает, доступны ли метки времени в промежуточной таблице. | из BelongsToMany |
| защищённый строка | $pivotCreatedAt | Пользовательский столбец промежуточной таблицы для метки времени created_at. | из BelongsToMany |
| protected string | $pivotUpdatedAt | Настраиваемый столбец таблицы связи для метки времени updated_at. | from BelongsToMany |
| protected string | $using | Имя класса настраиваемой модели связи для использования в связи. | from BelongsToMany |
| protected string | $accessor | Имя аксессора для использования в связи "pivot". | from BelongsToMany |
| static protected int | $selfJoinCount | Количество самосвязей. | from BelongsToMany |
| protected string | $morphType | Тип полиморфной связи. | |
| protected string | $morphClass | Имя класса ограничения типа полиморфной связи. | |
| protected bool | $inverse | Указывает, подключаем ли мы обратную сторону связи. |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters) Передать вызов метода заданному объекту. | from ForwardsCalls |
| static void | throwBadMethodCallException(string $method) Выбросить исключение плохого вызова метода для данного метода. | from ForwardsCalls |
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательское макро. | from Macroable |
| static void | mixin(object $mixin, bool $replace = true) Смешать другой объект в класс. | 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) Создать новый экземпляр связи многие-ко-многим с морфированием. | |
| 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 |
| Коллекция | getEager() Получить отношение для ленивой загрузки. | из Отношения |
| Коллекция | get(array $columns = ['*']) Выполнить запрос как операцию «select». | из Связи многие ко многим |
| void | touch() Обновить все связанные модели для отношения. | из Связи многие ко многим |
| int | rawUpdate(array $attributes = []) Выполнить необработанное обновление по основному запросу. | из Отношения |
| Билдер | getRelationExistenceCountQuery(Билдер $query, Билдер $parentQuery) Добавить ограничения для запроса подсчета существования отношения. | из Отношения |
| Билдер | getRelationExistenceQuery(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса подсчета существования отношения. | |
| массив | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | из Отношения |
| Билдер | getQuery() Получить базовый запрос для отношения. | из Отношения |
| Билдер | getBaseQuery() Получить базовый билдер запроса, управляющий билдeром Eloquent. | из Отношения |
| Модель | getParent() Получить родительскую модель отношения. | из Отношения |
| строка | getQualifiedParentKeyName() Получить полное имя родительского ключа для отношения. | из Связи многие ко многим |
| Модель | getRelated() Получить связанную модель отношения. | из Отношения |
| строка | createdAt() Получить имя столбца «создано в». | из Связи многие ко многим |
| строка | updatedAt() Получить имя столбца «обновлено в». | из Связи многие ко многим |
| строка | relatedUpdatedAt() Получить имя столбца "обновлено в" связанной модели. | из Relation |
| строка | whereInMethod(Модель $model, строка $key) Получить имя метода "where in" для леничной загрузки. | из Relation |
| массив | morphMap(массив $map = null, булево $merge = true) Установить или получить карту морфизма для полиморфных отношений. | из Relation |
| массив|null | buildMorphMapFromModels(массив $models = null) Создаёт таблично-ключевой массив из имён классов моделей. | из Relation |
| строка|null | getMorphedModel(строка $alias) Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone() Принудительно клонировать базовый создатель запросов при клонировании. | из Relation |
| массив | toggle(смешанный $ids, булево $touch = true) Переключает модель (или модели) из родителя. | из InteractsWithPivotTable |
| массив | syncWithoutDetaching(Коллекция|Модель|массив $ids) Синхронизировать промежуточные таблицы со списком идентификаторов без отсоединения. | из InteractsWithPivotTable |
| массив | sync(Коллекция|Модель|массив $ids, булево $detaching = true) Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей. | из InteractsWithPivotTable |
| массив | formatRecordsList(массив $records) Форматировать список записей синхронизации/переключения, чтобы он был индексирован по идентификатору. | из InteractsWithPivotTable |
| массив | attachNew(массив $records, массив $current, булево $touch = true) Прикрепить все записи, которых нет в предоставленных текущих записях. | из InteractsWithPivotTable |
| целое число | updateExistingPivot(смешанный $id, массив $attributes, булево $touch = true) Обновить существующую запись связующей таблицы. | из InteractsWithPivotTable |
| int | updateExistingPivotUsingCustomClass(mixed $id, array $attributes, bool $touch) Обновить существующую запись pivot в таблице с помощью пользовательского класса. | from InteractsWithPivotTable |
| void | attach(mixed $id, array $attributes = [], bool $touch = true) Привязать модель к родительской. | from InteractsWithPivotTable |
| void | attachUsingCustomClass(mixed $id, array $attributes) Привязать модель к родительской, используя пользовательский класс. | from InteractsWithPivotTable |
| array | formatAttachRecords(array $ids, array $attributes) Создать массив записей для вставки в таблицу pivot. | from InteractsWithPivotTable |
| array | formatAttachRecord(int $key, mixed $value, array $attributes, bool $hasTimestamps) Создать полную запись для привязки. | from InteractsWithPivotTable |
| array | extractAttachIdAndAttributes(mixed $key, mixed $value, array $attributes) Получить идентификатор записи привязки и дополнительные атрибуты. | from InteractsWithPivotTable |
| array | baseAttachRecord(int $id, bool $timed) Создать новую запись привязки. | |
| array | addTimestampsToAttachment(array $record, bool $exists = false) Установить метки времени создания и изменения для записи привязки. | from InteractsWithPivotTable |
| bool | hasPivotColumn(string $column) Определить, определён ли данный столбец как столбец pivot. | from InteractsWithPivotTable |
| int | detach(mixed $ids = null, bool $touch = true) Отвязать модели от отношения. | from InteractsWithPivotTable |
| int | detachUsingCustomClass(mixed $ids) Отвязать модели от отношения, используя пользовательский класс. | from InteractsWithPivotTable |
| Collection | getCurrentlyAttachedPivots() Получить модели pivot, которые в настоящее время привязаны. | from InteractsWithPivotTable |
| Pivot | newPivot(array $attributes = [], bool $exists = false) Создать новый экземпляр модели pivot. |
| Связь | newExistingPivot(array $attributes = []) Создать новый экземпляр существующей связи. | from InteractsWithPivotTable |
| Построитель запроса | newPivotStatement() Получить новый простой построитель запроса для таблицы связи. | from InteractsWithPivotTable |
| Построитель запроса | newPivotStatementForId(mixed $id) Получить новое выражение связи для заданного ID "другого" элемента. | from InteractsWithPivotTable |
| Построитель запроса | newPivotQuery() Создать новый построитель запросов для таблицы связи. | |
| $this | withPivot(array|mixed $columns) Установить столбцы в таблице связи для извлечения. | from InteractsWithPivotTable |
| массив | parseIds(mixed $value) Получить все ID из заданного значения. | from InteractsWithPivotTable |
| смешанный тип | parseId(mixed $value) Получить ID из заданного значения. | from InteractsWithPivotTable |
| массив | castKeys(array $keys) Преобразовать заданные ключи в целые числа, если они числовые, и в строки в противном случае. | from InteractsWithPivotTable |
| смешанный тип | castKey(mixed $key) Преобразовать заданный ключ в тип первичного ключа. | from InteractsWithPivotTable |
| массив | castAttributes(array $attributes) Преобразовать заданные атрибуты связи. | from InteractsWithPivotTable |
| смешанный тип | getTypeSwapValue(string $type, mixed $value) Преобразует заданное значение в заданный тип. | from InteractsWithPivotTable |
| строка | resolveTableName(string $table) Попытка разрешить имя промежуточной таблицы из заданной строки. | from BelongsToMany |
| $this | performJoin(Построитель запроса|null $query = null) Установить предложение объединения для запроса отношения. | from BelongsToMany |
| $this | addWhereConstraints() Установить условие where для запроса отношения. | |
| массив | buildDictionary(Collection $results) Построить словарь модели, индексированный по внешнему ключу отношения. | из BelongsToMany |
| строка | getPivotClass() Получить класс, используемый для моделей pivot. | из BelongsToMany |
| $this | using(string $class) Указать пользовательскую модель pivot для отношения. | из BelongsToMany |
| $this | as(string $accessor) Указать пользовательский аксессор pivot для отношения. | из BelongsToMany |
| $this | wherePivot(string $column, string $operator = null, mixed $value = null, string $boolean = 'and') Установить условие where для столбца таблицы pivot. | из BelongsToMany |
| $this | wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false) Установить условие "where in" для столбца таблицы pivot. | из BelongsToMany |
| $this | orWherePivot(string $column, string $operator = null, mixed $value = null) Установить условие "or where" для столбца таблицы pivot. | из BelongsToMany |
| $this | withPivotValue(string|array $column, mixed $value = null) Установить условие where для столбца таблицы pivot. | из BelongsToMany |
| $this | orWherePivotIn(string $column, mixed $values) Установить условие "or where in" для столбца таблицы pivot. | из BelongsToMany |
| Collection|Модель | findOrNew(mixed $id, array $columns = ['*']) Найти связанную модель по её первичному ключу или вернуть новую инстанцию связанной модели. | из BelongsToMany |
| Модель | firstOrNew(array $attributes) Получить первую запись связанной модели, соответствующую атрибутам, или создать её. | из BelongsToMany |
| Модель | firstOrCreate(array $attributes, array $joining = [], bool $touch = true) Получить первую запись связанной модели, соответствующую атрибутам, или создать её. | из BelongsToMany |
| Модель | updateOrCreate(array $attributes, array $values = [], array $joining = [], bool $touch = true) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | от BelongsToMany |
| Модель|Коллекция|null | find(mixed $id, array $columns = ['*']) Найти связанную модель по её первичному ключу. | от BelongsToMany |
| Коллекция | findMany(mixed $ids, array $columns = ['*']) Найти несколько связанных моделей по их первичным ключам. | от BelongsToMany |
| Модель|Коллекция | findOrFail(mixed $id, array $columns = ['*']) Найти связанную модель по её первичному ключу или выбросить исключение. | от BelongsToMany |
| mixed | first(array $columns = ['*']) Выполнить запрос и получить первый результат. | от BelongsToMany |
| Модель|BelongsToMany | firstOrFail(array $columns = ['*']) Выполнить запрос и получить первый результат или выбросить исключение. | от BelongsToMany |
| array | shouldSelect(array $columns = ['*']) Получить столбцы выбора для запроса отношения. | от BelongsToMany |
| array | aliasedPivotColumns() Получить столбцы pivot для отношения. | |
| LengthAwarePaginator | paginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null) Получить пагинатор для запроса "select". | от BelongsToMany |
| Paginator | simplePaginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null) Разбить данные на страницы с использованием простого пагинатора. | от BelongsToMany |
| bool | chunk(int $count, callable $callback) Разбить результаты запроса на части. | от BelongsToMany |
| bool | chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null) Разбить результаты запроса на части по сравниванию числовых идентификаторов. | от BelongsToMany |
| bool | each(callable $callback, int $count = 1000) Выполнить обратный вызов для каждого элемента с разбиением на блоки. | from BelongsToMany |
| void | hydratePivotRelation(array $models) Заполнить отношение сводной таблицы для моделей. | from BelongsToMany |
| array | migratePivotAttributes(Model $model) Получить атрибуты сводной таблицы из модели. | from BelongsToMany |
| void | touchIfTouching() Если мы изменяем родительскую модель, то обновить её. | from BelongsToMany |
| bool | touchingParent() Определить, нужно ли обновлять родительскую модель при синхронизации. | from BelongsToMany |
| string | guessInverseRelation() Попытка определить имя обратного отношения. | from BelongsToMany |
| Collection | allRelatedIds() Получить все идентификаторы связанных моделей. | from BelongsToMany |
| Model | save(Model $model, array $pivotAttributes = [], bool $touch = true) Сохранить новую модель и прикрепить её к родительской модели. | from BelongsToMany |
| array | saveMany(Collection|array $models, array $pivotAttributes = []) Сохранить массив новых моделей и прикрепить их к родительской модели. | from BelongsToMany |
| Model | create(array $attributes = [], array $joining = [], bool $touch = true) Создать новый экземпляр связанной модели. | from BelongsToMany |
| array | createMany(array $records, array $joinings = []) Создать массив новых экземпляров связанных моделей. | from BelongsToMany |
| Builder | getRelationExistenceQueryForSelfJoin(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения к той же таблице. | from BelongsToMany |
| строка | getExistenceCompareKey() Получить ключ для сравнения с родительским ключом в запросе "has". | из BelongsToMany |
| строка | getRelationCountHash() Получить хэш таблицы соединения для связи. | из BelongsToMany |
| $this | withTimestamps(mixed $createdAt = null, mixed $updatedAt = null) Указать, что таблица связей имеет метки времени создания и обновления. | из BelongsToMany |
| строка | getForeignPivotKeyName() Получить внешний ключ для связи. | из BelongsToMany |
| строка | getQualifiedForeignPivotKeyName() Получить полностью квалифицированный внешний ключ для связи. | из BelongsToMany |
| строка | getRelatedPivotKeyName() Получить "связанный ключ" для связи. | из BelongsToMany |
| строка | getQualifiedRelatedPivotKeyName() Получить полностью квалифицированный "связанный ключ" для связи. | из BelongsToMany |
| строка | getParentKeyName() Получить родительский ключ для связи. | из BelongsToMany |
| строка | getRelatedKeyName() Получить связанный ключ для связи. | из BelongsToMany |
| строка | getTable() Получить промежуточную таблицу для связи. | из BelongsToMany |
| строка | getRelationName() Получить имя связи для связи. | из BelongsToMany |
| строка | getPivotAccessor() Получить имя аксессора pivot для этой связи. | из BelongsToMany |
| строка | getMorphType() Получить имя внешнего ключа "тип". | |
| строка | getMorphClass() Получить имя класса родительской модели. | |
| логическое | getInverse() Получить индикатор для обратной связи. |
Подробности
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение для неверного вызова метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательский макрос.
static void mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс.
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()
Получить полностью квалифицированное имя родительского ключа для отношения.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца «создано в».
string updatedAt()
Получить имя столбца «обновлено в».
string relatedUpdatedAt()
Получить имя столбца «обновлено в» для связанной модели.
protected string whereInMethod(Модель $model, string $key)
Получить имя метода «where in» для леничной загрузки.
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(Коллекция|Модель|array $ids)
Синхронизирует промежуточные таблицы со списком идентификаторов без отсоединения.
array sync(Collection|Модель|array $ids, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей.
protected array formatRecordsList(array $records)
Форматировать список записей синхронизации/переключения так, чтобы он был индексирован по идентификатору.
protected array attachNew(array $records, array $current, bool $touch = true)
Прикрепить все записи, которых нет в заданных текущих записях.
int updateExistingPivot(mixed $id, array $attributes, bool $touch = true)
Обновить существующую запись pivot в таблице.
protected int updateExistingPivotUsingCustomClass(mixed $id, array $attributes, bool $touch)
Обновить существующую запись pivot в таблице с помощью пользовательского класса.
void attach(mixed $id, array $attributes = [], bool $touch = true)
Прикрепить модель к родительскому элементу.
protected void attachUsingCustomClass(mixed $id, array $attributes)
Прикрепить модель к родительскому элементу с помощью пользовательского класса.
protected array formatAttachRecords(array $ids, array $attributes)
Создать массив записей для вставки в таблицу pivot.
protected array formatAttachRecord(int $key, mixed $value, array $attributes, bool $hasTimestamps)
Создать полную запись об прикреплении.
protected array extractAttachIdAndAttributes(mixed $key, mixed $value, array $attributes)
Получить идентификатор записи об прикреплении и дополнительные атрибуты.
protected array baseAttachRecord(int $id, bool $timed)
Создать новую запись об прикреплении.
protected array addTimestampsToAttachment(array $record, bool $exists = false)
Установить метки времени создания и обновления для записи об прикреплении.
bool hasPivotColumn(string $column)
Определить, является ли заданный столбец столбцом-связью.
int detach(mixed $ids = null, bool $touch = true)
Отвязать модели от взаимоотношений.
protected int detachUsingCustomClass(mixed $ids)
Отвязать модели от взаимоотношений с помощью пользовательского класса.
protected Collection getCurrentlyAttachedPivots()
Получить модели-связи, которые в данный момент прикреплены.
Pivot newPivot(array $attributes = [], bool $exists = false)
Создать новый экземпляр модели-связи.
Pivot newExistingPivot(array $attributes = [])
Создать новый экземпляр существующей модели pivot.
Builder newPivotStatement()
Получить новый обычный билдер запроса для таблицы pivot.
Builder newPivotStatementForId(mixed $id)
Получить новое утверждение pivot для заданного ID «другого».
protected Builder newPivotQuery()
Создать новый билдер запроса для таблицы pivot.
$this withPivot(array|mixed $columns)
Установить столбцы в таблице pivot для извлечения.
protected array parseIds(mixed $value)
Получить все ID из заданного смешанного значения.
protected mixed parseId(mixed $value)
Получить ID из заданного смешанного значения.
protected array castKeys(array $keys)
Преобразовать заданные ключи в целые числа, если они числовые, и в строки в противном случае.
protected mixed castKey(mixed $key)
Преобразовать заданный ключ для преобразования в тип первичного ключа.
protected array castAttributes(array $attributes)
Преобразовать заданные атрибуты pivot.
protected mixed getTypeSwapValue(string $type, mixed $value)
Преобразует заданное значение в значение заданного типа.
protected string resolveTableName(string $table)
Попытка разрешить имя промежуточной таблицы из заданной строки.
protected $this performJoin(Builder|null $query = null)
Установить условие объединения для запроса отношения.
protected $this addWhereConstraints()
Установить условие where для запроса отношения.
protected array buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу отношения.
string getPivotClass()
Получить класс, используемый для моделей pivot.
$this using(string $class)
Указать пользовательскую модель pivot для использования в отношении.
$this as(string $accessor)
Указать пользовательский аксессор pivot для использования в отношении.
$this wherePivot(string $column, string $operator = null, mixed $value = null, string $boolean = 'and')
Установить условие where для столбца таблицы pivot.
$this wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)
Установить условие «where in» для столбца таблицы pivot.
$this orWherePivot(string $column, string $operator = null, mixed $value = null)
Установить условие "или где" для столбца таблицы связей.
$this withPivotValue(string|array $column, mixed $value = null)
Установить условие «где» для столбца таблицы связей.
Кроме того, новые записи связей получат это значение.
$this 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 array shouldSelect(array $columns = ['*'])
Получить столбцы выбора для запроса отношения.
protected array aliasedPivotColumns()
Получить столбцы pivot для отношения.
"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)
Разбить результаты запроса на части.
bool chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на части, сравнивая числовые идентификаторы.
bool each(callable $callback, int $count = 1000)
Выполнить обратный вызов для каждого элемента с разбиением на части.
protected void hydratePivotRelation(array $models)
Гидратировать отношение таблицы связей по моделям.
protected array migratePivotAttributes(Model $model)
Получить атрибуты связи из модели.
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()
Получить хеш таблицы соединения отношения.
$this withTimestamps(mixed $createdAt = null, mixed $updatedAt = null)
Укажите, что сводная таблица имеет метки времени создания и обновления.
string getForeignPivotKeyName()
Получить внешний ключ для связи.
string getQualifiedForeignPivotKeyName()
Получить полностью квалифицированный внешний ключ для связи.
string getRelatedPivotKeyName()
Получить «связанный ключ» для связи.
string getQualifiedRelatedPivotKeyName()
Получить полностью квалифицированный «связанный ключ» для связи.
string getParentKeyName()
Получить родительский ключ для связи.
string getRelatedKeyName()
Получить связанный ключ для связи.
string getTable()
Получить промежуточную таблицу для связи.
string getRelationName()
Получить имя связи для связи.
string getPivotAccessor()
Получить имя доступа к сводному элементу для этой связи.
string getMorphType()
Получить имя внешнего ключа «тип».
string getMorphClass()
Получить имя класса родительской модели.
bool getInverse()
Получить индикатор для обратной связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.8/Illuminate/Database/Eloquent/Relations/MorphToMany.html