BelongsToMany
class BelongsToMany extends Relation (View source)
Свойства
| InteractsWithPivotTable | |
| ForwardsCalls | |
| 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 array | $morphMap | Массив для сопоставления имён классов с их именами morph в базе данных. | from Relation |
| protected string | $table | Промежуточная таблица для отношения. | |
| protected string | $foreignPivotKey | Внешний ключ родительской модели. | |
| protected string | $relatedPivotKey | Связанный ключ отношения. | |
| protected string | $parentKey | Имя ключа родительской модели. | |
| protected string | $relatedKey | Имя ключа связанной модели. | |
| protected string | $relationName | Название отношения. | |
| protected array | $pivotColumns | Столбцы промежуточной таблицы для извлечения. | |
| protected array | $pivotWheres | Любые ограничения для промежуточной таблицы в условиях where. | |
| protected array | $pivotWhereIns | Любые ограничения для промежуточной таблицы в условиях whereIn. | |
| protected array | $pivotValues | Значения по умолчанию для столбцов промежуточной таблицы. | |
| bool | $withTimestamps | Указывает, доступны ли метки времени в промежуточной таблице. | |
| protected string | $pivotCreatedAt | Настраиваемый столбец промежуточной таблицы для метки времени created_at. | |
| protected string | $pivotUpdatedAt | Настраиваемый столбец промежуточной таблицы для метки времени updated_at. | |
| protected string | $using | Имя класса пользовательской модели пивот для отношения. | |
| protected string | $accessor | Имя аксессора для отношения "pivot". | |
| static protected int | $selfJoinCount | Количество самосоединений. |
Методы
| 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 $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string $relationName = null) Создать новый экземпляр отношения belongs to many. | |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов с отключенными ограничениями на отношении. | from Relation |
| void | addConstraints() Установить базовые ограничения на запросе отношения. | |
| void | addEagerConstraints(array $models) Установить ограничения для ленивой загрузки отношения. | |
| array | initRelation(array $models, string $relation) Инициализировать отношение на наборе моделей. | |
| array | match(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их родителями. | |
| mixed | getResults() Получить результаты отношения. | |
| Collection | getEager() Получить отношение для ленивой загрузки. | from Relation |
| Collection | get(array $columns = ['*']) Выполнить запрос как операцию «выбор». | |
| void | touch() Обновить все связанные модели для отношения. | |
| 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() Получить полное имя родительского ключа для отношения. | |
| Model | getRelated() Получить связанную модель отношения. | from Relation |
| string | createdAt() Получить имя столбца «создано в». | |
| string | updatedAt() Получить имя столбца «обновлено в». | |
| string | relatedUpdatedAt() Получить имя столбца «обновлено в» связанной модели. | from Relation |
| string | whereInMethod(Model $model, string $key) Получить имя метода «where in» для ленивой загрузки. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить карту morph для полиморфных отношений. | from Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Создаёт таблично-ключевой массив из имён классов моделей. | from Relation |
| статический string|null | getMorphedModel(string $alias) Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone() Принудительно клонировать базовый билдер запроса при клонировании. | из Relation |
| массив | toggle(mixed $ids, bool $touch = true) Переключает модель (или модели) от родителя. | из InteractsWithPivotTable |
| массив | syncWithoutDetaching(Collection|Model|array $ids) Синхронизировать промежуточные таблицы со списком идентификаторов без открепления. | из InteractsWithPivotTable |
| массив | sync(Collection|Model|array $ids, bool $detaching = true) Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей. | из InteractsWithPivotTable |
| массив | formatRecordsList(array $records) Форматировать список записей синхронизации/переключения, чтобы он был индексирован по идентификатору. | из InteractsWithPivotTable |
| массив | attachNew(array $records, array $current, bool $touch = true) Прикрепить все записи, которых нет в заданных текущих записях. | из InteractsWithPivotTable |
| int | updateExistingPivot(mixed $id, array $attributes, bool $touch = true) Обновить существующую запись сводной таблицы. | из InteractsWithPivotTable |
| int | updateExistingPivotUsingCustomClass(mixed $id, array $attributes, bool $touch) Обновить существующую запись сводной таблицы с помощью пользовательского класса. | из InteractsWithPivotTable |
| void | attach(mixed $id, array $attributes = [], bool $touch = true) Прикрепить модель к родителю. | из InteractsWithPivotTable |
| void | attachUsingCustomClass(mixed $id, array $attributes) Прикрепить модель к родителю с использованием пользовательского класса. | из InteractsWithPivotTable |
| массив | formatAttachRecords(array $ids, array $attributes) Создать массив записей для вставки в сводную таблицу. | из InteractsWithPivotTable |
| массив | formatAttachRecord(int $key, mixed $value, array $attributes, bool $hasTimestamps) Создать полную полезную нагрузку записи прикрепления. | из InteractsWithPivotTable |
| массив | extractAttachIdAndAttributes(mixed $key, mixed $value, array $attributes) Получить идентификатор записи прикрепления и дополнительные атрибуты. | из InteractsWithPivotTable |
| массив | baseAttachRecord(int $id, bool $timed) Создать новую запись прикрепления сводной таблицы. | из InteractsWithPivotTable |
| массив | addTimestampsToAttachment(array $record, bool $exists = false) Установить метки времени создания и обновления в записи прикрепления. | из InteractsWithPivotTable |
| bool | hasPivotColumn(string $column) Определить, задан ли данный столбец как столбец сводной таблицы. | из InteractsWithPivotTable |
| int | detach(mixed $ids = null, bool $touch = true) Открепить модели от отношения. | из InteractsWithPivotTable |
| int | detachUsingCustomClass(mixed $ids) Открепить модели от отношения с помощью пользовательского класса. | из InteractsWithPivotTable |
| Коллекция | getCurrentlyAttachedPivots() Получить модели сводной таблицы, которые в настоящее время прикреплены. | из InteractsWithPivotTable |
| Pivot | newPivot(array $attributes = [], bool $exists = false) Создать новый экземпляр модели сводной таблицы. | из InteractsWithPivotTable |
| Pivot | newExistingPivot(array $attributes = []) Создать новый экземпляр существующей модели сводной таблицы. | из InteractsWithPivotTable |
| Билдер | newPivotStatement() Получить новый простой билдер запросов для сводной таблицы. | из InteractsWithPivotTable |
| Билдер | newPivotStatementForId(mixed $id) Получить новый запрос для заданного идентификатора "другого" элемента. | из InteractsWithPivotTable |
| Билдер | newPivotQuery() Создать новый билдер запроса для таблицы связей. | из InteractsWithPivotTable |
| $this | withPivot(array|mixed $columns) Установить столбцы таблицы связей для извлечения. | из InteractsWithPivotTable |
| массив | parseIds(mixed $value) Получить все идентификаторы из заданного значения типа mixed. | из InteractsWithPivotTable |
| mixed | parseId(mixed $value) Получить идентификатор из заданного значения типа mixed. | из InteractsWithPivotTable |
| массив | castKeys(array $keys) Преобразовать заданные ключи в целые числа, если они числовые, и в строки в противном случае. | из InteractsWithPivotTable |
| mixed | castKey(mixed $key) Преобразовать заданный ключ для преобразования в тип первичного ключа. | из InteractsWithPivotTable |
| массив | castAttributes(array $attributes) Преобразовать заданные атрибуты таблицы связей. | из InteractsWithPivotTable |
| mixed | getTypeSwapValue(string $type, mixed $value) Преобразует заданное значение в значение заданного типа. | из InteractsWithPivotTable |
| строка | resolveTableName(string $table) Попытка разрешить имя промежуточной таблицы из заданной строки. | |
| $this | performJoin(Билдер|null $query = null) Установить условие объединения для запроса отношения. | |
| $this | addWhereConstraints() Установить условие where для запроса отношения. | |
| массив | buildDictionary(Коллекция $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | |
| строка | getPivotClass() Получить класс, используемый для моделей связей. | |
| $this | using(string $class) Указать пользовательскую модель связей для использования в отношении. | |
| $this | as(string $accessor) Указать пользовательский аксессор таблицы связей для использования в отношении. | |
| $this | wherePivot(string $column, string $operator = null, mixed $value = null, string $boolean = 'and') Установить условие where для столбца таблицы связей. | |
| $this | wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false) Установить условие "where in" для столбца таблицы связей. | |
| $this | orWherePivot(string $column, string $operator = null, mixed $value = null) Установить условие "or where" для столбца таблицы связей. | |
| $this | withPivotValue(string|array $column, mixed $value = null) Установить условие where для столбца таблицы связей. | |
| $this | orWherePivotIn(string $column, mixed $values) Установить условие "or where in" для столбца таблицы связей. | |
| Коллекция|Модель | 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 = ['*']) Выполнить запрос и получить первый результат или выбросить исключение. | |
| массив | shouldSelect(array $columns = ['*']) Получить столбцы для выбора в запросе отношения. | |
| массив | aliasedPivotColumns() Получить столбцы связей для отношения. | |
| 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) Разбить заданный запрос на страницы с помощью простого пагинатора. | |
| булево | 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) Выполнить обратный вызов для каждого элемента с разбиением. | |
| void | hydratePivotRelation(array $models) Заполнить связь таблицы промежуточных данных для моделей. | |
| array | migratePivotAttributes(Модель $model) Получить атрибуты промежуточной таблицы из модели. | |
| void | touchIfTouching() Если мы обновляем родительскую модель, обновить. | |
| bool | touchingParent() Определить, нужно ли обновить родительскую модель при синхронизации. | |
| string | guessInverseRelation() Попытка угадать имя обратной связи. | |
| Коллекция | allRelatedIds() Получить все идентификаторы связанных моделей. | |
| Модель | save(Модель $model, array $pivotAttributes = [], bool $touch = true) Сохранить новую модель и присоединить её к родительской модели. | |
| array | saveMany(Коллекция|array $models, array $pivotAttributes = []) Сохранить массив новых моделей и присоединить их к родительской модели. | |
| Модель | create(array $attributes = [], array $joining = [], bool $touch = true) Создать новый экземпляр связанной модели. | |
| array | createMany(array $records, array $joinings = []) Создать массив новых экземпляров связанных моделей. | |
| Билдер | getRelationExistenceQueryForSelfJoin(Билдер $query, Билдер $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() Получить имя аксессора промежуточной таблицы для этой связи. |
Подробности
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)
Динамически обработать вызовы класса.
смешанный тип __call(string $method, array $parameters)
Динамически обрабатывает вызовы к классу.
пустое значение __construct(Builder $query, Model $parent, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string $relationName = null)
Создаёт новый экземпляр отношения принадлежности многим.
статический смешанный тип noConstraints(Closure $callback)
Выполняет обратный вызов без ограничений на отношении.
пустое значение addConstraints()
Устанавливает базовые ограничения на запрос отношения.
пустое значение addEagerConstraints(array $models)
Устанавливает ограничения для жадной загрузки отношения.
массив initRelation(array $models, string $relation)
Инициализирует отношение на наборе моделей.
массив match(array $models, Collection $results, string $relation)
Сопоставляет результаты жадной загрузки с их родительскими элементами.
смешанный тип getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для жадной загрузки.
Collection get(array $columns = ['*'])
Выполнить запрос в качестве оператора «выбор».
пустое значение touch()
Обновить все связанные модели для отношения.
Например: Обновить все роли, связанные с этим пользователем.
целое число rawUpdate(array $attributes = [])
Выполнить сырое обновление по базовому запросу.
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчёта существования отношения.
Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения.
защищённый массив getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запросов, управляющий билдером Eloquent.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа для отношения.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца «created at».
string updatedAt()
Получить имя столбца «updated at».
string relatedUpdatedAt()
Получить имя столбца «updated at» связанной модели.
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(Коллекция|Модель|array $ids, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей.
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 в таблице.
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 = [])
Создать новый существующий экземпляр модели связи.
Builder newPivotStatement()
Получить новый простой билдер запроса для таблицы связи.
Builder newPivotStatementForId(mixed $id)
Получить новое выражение связи для заданного идентификатора "другого" объекта.
protected Builder newPivotQuery()
Создать новый билдер запроса для таблицы связи.
$this withPivot(array|mixed $columns)
Установить столбцы в таблице связи для получения.
protected array parseIds(mixed $value)
Получить все идентификаторы из заданного смешанного значения.
protected mixed parseId(mixed $value)
Получить идентификатор из заданного смешанного значения.
protected array castKeys(array $keys)
Преобразовать заданные ключи в целые числа, если они являются числовыми, и в строки в противном случае.
protected mixed castKey(mixed $key)
Преобразовать заданный ключ, чтобы преобразовать его в тип первичного ключа.
protected array castAttributes(array $attributes)
Преобразовать заданные атрибуты связи.
protected mixed getTypeSwapValue(string $type, mixed $value)
Преобразует заданное значение в значение заданного типа.
protected string resolveTableName(string $table)
Попытка разрешить промежуточное имя таблицы из заданной строки.
protected $this performJoin(Builder|null $query = null)
Установить предложение JOIN для запроса отношения.
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)
Установить условие «or where» для столбца pivot таблицы.
$this withPivotValue(string|array $column, mixed $value = null)
Установить условие WHERE для столбца pivot таблицы.
Кроме того, новые записи pivot будут получать это значение.
$this orWherePivotIn(string $column, mixed $values)
Установить условие «or where in» для столбца pivot таблицы.
Collection|Model findOrNew(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или вернуть новую инстанцию связанной модели.
Model firstOrNew(array $attributes)
Получить первую связанную модель, соответствующую атрибутам, или создать её экземпляр.
Model firstOrCreate(array $attributes, array $joining = [], bool $touch = true)
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Model updateOrCreate(array $attributes, array $values = [], array $joining = [], bool $touch = true)
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Model|Collection|null find(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу.
Collection 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_" префикс к каждому столбцу для удобства удаления позже.
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)
Получить атрибуты связующей таблицы из модели.
void touchIfTouching()
Если мы обновляем родительскую модель, обновить её.
protected bool touchingParent()
Определить, нужно ли обновлять родительскую модель при синхронизации.
protected string guessInverseRelation()
Попытка угадать имя обратного отношения.
Коллекция allRelatedIds()
Получить все идентификаторы для связанных моделей.
Модель save(Модель $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель и прикрепить её к родительской модели.
array saveMany(Collection|array $models, array $pivotAttributes = [])
Сохранить массив новых моделей и прикрепить их к родительской модели.
Модель create(array $attributes = [], array $joining = [], bool $touch = true)
Создать новый экземпляр связанной модели.
array createMany(array $records, array $joinings = [])
Создать массив новых экземпляров связанных моделей.
Библиотека getRelationExistenceQueryForSelfJoin(Библиотека $query, Библиотека $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()
Получить имя аксессора для этой связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.8/Illuminate/Database/Eloquent/Relations/BelongsToMany.html