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 | Массив для сопоставления имён классов с их именами морф в базе данных. | 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 | $pivotWhereNulls | Любые ограничения промежуточной таблицы для условий whereNull. | |
| 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|null $relationName = null)
Создать новый экземпляр отношения "многие ко многим". | |
| 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 = ['*'])
Выполнить запрос как операцию "select". | |
| 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|null $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()
Получить имя столбца "created at". | |
| string | updatedAt()
Получить имя столбца "updated at". | |
| string | relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели. | 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 |
| static string|null | getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone()
Принудительно клонировать базовый запрос при клонировании. | из Relation |
| array | toggle(mixed $ids, bool $touch = true)
Переключает модель (или модели) от родителя. | из InteractsWithPivotTable |
| array | syncWithoutDetaching(Collection|Model|array $ids)
Синхронизировать промежуточные таблицы со списком идентификаторов без отсоединения. | из InteractsWithPivotTable |
| array | sync(Collection|Model|array $ids, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей. | из InteractsWithPivotTable |
| array | formatRecordsList(array $records)
Форматировать список записей синхронизации/переключения, чтобы он индексировался по идентификатору. | из InteractsWithPivotTable |
| array | attachNew(array $records, array $current, bool $touch = true)
Присоединить все записи, которых нет в заданных текущих записях. | из InteractsWithPivotTable |
| int | updateExistingPivot(mixed $id, array $attributes, bool $touch = true)
Обновить существующую запись pivot в таблице. | из InteractsWithPivotTable |
| int | updateExistingPivotUsingCustomClass(mixed $id, array $attributes, bool $touch)
Обновить существующую запись pivot в таблице с помощью пользовательского класса. | из InteractsWithPivotTable |
| void | attach(mixed $id, array $attributes = [], bool $touch = true)
Присоединить модель к родителю. | из InteractsWithPivotTable |
| void | attachUsingCustomClass(mixed $id, array $attributes)
Присоединить модель к родителю с использованием пользовательского класса. | из InteractsWithPivotTable |
| array | formatAttachRecords(array $ids, array $attributes)
Создать массив записей для вставки в pivot-таблицу. | из InteractsWithPivotTable |
| array | formatAttachRecord(int $key, mixed $value, array $attributes, bool $hasTimestamps)
Создать полную загрузку данных для присоединения. | из InteractsWithPivotTable |
| array | extractAttachIdAndAttributes(mixed $key, mixed $value, array $attributes)
Получить идентификатор и дополнительные атрибуты записи присоединения. | из InteractsWithPivotTable |
| array | baseAttachRecord(int $id, bool $timed)
Создать новую запись присоединения pivot. | из InteractsWithPivotTable |
| array | addTimestampsToAttachment(array $record, bool $exists = false)
Установить метки времени создания и обновления для записи присоединения. | из InteractsWithPivotTable |
| bool | hasPivotColumn(string $column)
Определить, определен ли заданный столбец как столбец pivot. | из InteractsWithPivotTable |
| int | detach(mixed $ids = null, bool $touch = true)
Отсоединить модели от отношения. | из InteractsWithPivotTable |
| int | detachUsingCustomClass(mixed $ids)
Отсоединить модели от отношения с помощью пользовательского класса. | из InteractsWithPivotTable |
| Collection | getCurrentlyAttachedPivots()
Получить модели pivot, которые в настоящее время присоединены. | из InteractsWithPivotTable |
| Pivot | newPivot(array $attributes = [], bool $exists = false)
Создать новый экземпляр модели pivot. | из InteractsWithPivotTable |
| Pivot | newExistingPivot(array $attributes = [])
Создать новый существующий экземпляр модели pivot. | из InteractsWithPivotTable |
| Builder | newPivotStatement()
Получить новый обычный запрос для pivot-таблицы. | из InteractsWithPivotTable |
| Builder | newPivotStatementForId(mixed $id)
Получить новое утверждение pivot для заданного идентификатора «другого». | из InteractsWithPivotTable |
| Builder | newPivotQuery()
Создать новый запрос для сводной таблицы. | из InteractsWithPivotTable |
| $this | withPivot(array|mixed $columns)
Установить столбцы в сводной таблице для получения. | из InteractsWithPivotTable |
| array | parseIds(mixed $value)
Получить все ID из заданного смешанного значения. | из InteractsWithPivotTable |
| mixed | parseId(mixed $value)
Получить ID из заданного смешанного значения. | из InteractsWithPivotTable |
| array | castKeys(array $keys)
Преобразовать заданные ключи в целые числа, если они являются числовыми, и в строки в противном случае. | из InteractsWithPivotTable |
| mixed | castKey(mixed $key)
Преобразовать заданный ключ для преобразования в тип первичного ключа. | из InteractsWithPivotTable |
| array | castAttributes(array $attributes)
Преобразовать заданные атрибуты сводной таблицы. | из InteractsWithPivotTable |
| mixed | getTypeSwapValue(string $type, mixed $value)
Преобразует заданное значение в значение заданного типа. | из InteractsWithPivotTable |
| string | resolveTableName(string $table)
Попытка определить имя промежуточной таблицы из заданной строки. | |
| $this | performJoin(Builder|null $query = null)
Установить предложение JOIN для запроса отношения. | |
| $this | addWhereConstraints()
Установить предложение WHERE для запроса отношения. | |
| array | buildDictionary(Collection $results)
Построить словарь моделей с ключом, являющимся внешним ключом отношения. | |
| string | getPivotClass()
Получить класс, используемый для моделей сводных таблиц. | |
| $this | using(string $class)
Указать пользовательскую модель сводной таблицы для использования в отношении. | |
| $this | as(string $accessor)
Указать пользовательский аксессор сводной таблицы для использования в отношении. | |
| $this | wherePivot(string $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Установить предложение WHERE для столбца сводной таблицы. | |
| $this | wherePivotBetween(string $column, array $values, string $boolean = 'and', bool $not = false)
Установить предложение "WHERE BETWEEN" для столбца сводной таблицы. | |
| $this | orWherePivotBetween(string $column, array $values)
Установить предложение "OR WHERE BETWEEN" для столбца сводной таблицы. | |
| $this | wherePivotNotBetween(string $column, array $values, string $boolean = 'and')
Установить предложение "WHERE PIVOT NOT BETWEEN" для столбца сводной таблицы. | |
| $this | orWherePivotNotBetween(string $column, array $values)
Установить предложение "OR WHERE NOT BETWEEN" для столбца сводной таблицы. | |
| $this | wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)
Установить предложение "WHERE IN" для столбца сводной таблицы. | |
| $this | orWherePivot(string $column, mixed $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" для столбца сводной таблицы. | |
| $this | wherePivotNotIn(string $column, mixed $values, string $boolean = 'and')
Установить предложение "WHERE NOT IN" для столбца сводной таблицы. | |
| $this | orWherePivotNotIn(string $column, mixed $values)
Установить предложение "OR WHERE NOT IN" для столбца сводной таблицы. | |
| $this | wherePivotNull(string $column, string $boolean = 'and', bool $not = false)
Установить предложение "WHERE NULL" для столбца сводной таблицы. | |
| $this | wherePivotNotNull(string $column, string $boolean = 'and')
Установить предложение "WHERE NOT NULL" для столбца сводной таблицы. | |
| $this | orWherePivotNull(string $column, bool $not = false)
Установить предложение "OR WHERE NULL" для столбца сводной таблицы. | |
| $this | orWherePivotNotNull(string $column)
Установить предложение "OR WHERE NOT NULL" для столбца сводной таблицы. | |
| 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(Arrayable|array $ids, array $columns = ['*'])
Найти несколько связанных моделей по их первичным ключам. |
| Модель|Коллекция | findOrFail(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или выбросить исключение. | |
| Модель|СвязьMany-to-Many | firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить простое условие WHERE в запрос и вернуть первый результат. | |
| mixed | first(array $columns = ['*'])
Выполнить запрос и получить первый результат. | |
| Модель|СвязьMany-to-Many | firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение. | |
| array | shouldSelect(array $columns = ['*'])
Получить столбцы для выбора в запросе отношения. | |
| array | aliasedPivotColumns()
Получить столбцы шлюза для отношения. | |
| LengthAwarePaginator | paginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Получить пагинатор для запроса "select". | |
| Paginator | simplePaginate(int|null $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)
Применить обратный вызов к каждому элементу с использованием чанкинга. | |
| LazyCollection | cursor()
Получить ленивую коллекцию для данного запроса. | |
| 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(iterable $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()
Получить имя аксессора шлюза для данного отношения. | |
| array | getPivotColumns()
Получить столбцы шлюза для этого отношения. |
Подробности
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 $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string|null $relationName = null)
Создать новый экземпляр отношения "belongs to many".
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 = ['*'])
Выполнить запрос как операцию "select".
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|null $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запроса, управляющий Eloquent билдером.
Модель 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(Collection|Модель|array $ids)
Синхронизировать промежуточные таблицы со списком идентификаторов без открепления.
array sync(Collection|Модель|array $ids, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей.
protected array formatRecordsList(array $records)
Форматировать список записей sync / toggle таким образом, чтобы он индексировался по идентификатору.
protected array attachNew(array $records, array $current, bool $touch = true)
Присоединить все записи, которые отсутствуют в заданных текущих записях.
int updateExistingPivot(mixed $id, array $attributes, bool $touch = true)
Обновить существующую запись связи на таблице.
protected int updateExistingPivotUsingCustomClass(mixed $id, array $attributes, bool $touch)
Обновить существующую запись связи на таблице через пользовательский класс.
void attach(mixed $id, array $attributes = [], bool $touch = true)
Привязать модель к родительскому элементу.
protected void attachUsingCustomClass(mixed $id, array $attributes)
Привязать модель к родительскому элементу, используя пользовательский класс.
protected array formatAttachRecords(array $ids, array $attributes)
Создать массив записей для вставки в таблицу связи.
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)
Получить новый запрос для связи по заданному идентификатору.
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)
Установить предложение объединения для запроса отношения.
protected $this addWhereConstraints()
Установить предложение where для запроса отношения.
protected array buildDictionary(Collection $results)
Создать словарь модели, индексированный по внешнему ключу отношения.
string getPivotClass()
Получить класс, используемый для моделей сводки.
$this using(string $class)
Указать пользовательскую модель сводки для использования в отношении.
$this as(string $accessor)
Указать пользовательский обработчик сводки для использования в отношении.
$this wherePivot(string $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Установить условие where для столбца таблицы сводки.
$this wherePivotBetween(string $column, array $values, string $boolean = 'and', bool $not = false)
Установить условие «where between» для столбца таблицы сводки.
$this orWherePivotBetween(string $column, array $values)
Установить условие «or where between» для столбца таблицы сводки.
$this wherePivotNotBetween(string $column, array $values, string $boolean = 'and')
Установить условие «where pivot not between» для столбца таблицы сводки.
$this orWherePivotNotBetween(string $column, array $values)
Установить условие «or where not between» для столбца таблицы сводки.
$this wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)
Установить условие «where in» для столбца таблицы сводки.
$this orWherePivot(string $column, mixed $operator = null, mixed $value = null)
Установить условие «or where» для столбца таблицы сводки.
$this withPivotValue(string|array $column, mixed $value = null)
Установить условие where для столбца таблицы связей.
Кроме того, новые записи связей получат это значение.
$this orWherePivotIn(string $column, mixed $values)
Установить условие «или где в» для столбца таблицы связей.
$this wherePivotNotIn(string $column, mixed $values, string $boolean = 'and')
Установить условие «где не в» для столбца таблицы связей.
$this orWherePivotNotIn(string $column, mixed $values)
Установить условие «или где не в» для столбца таблицы связей.
$this wherePivotNull(string $column, string $boolean = 'and', bool $not = false)
Установить условие «где null» для столбца таблицы связей.
$this wherePivotNotNull(string $column, string $boolean = 'and')
Установить условие «где не null» для столбца таблицы связей.
$this orWherePivotNull(string $column, bool $not = false)
Установить условие «или где null» для столбца таблицы связей.
$this orWherePivotNotNull(string $column)
Установить условие «или где не null» для столбца таблицы связей.
Коллекция|Модель 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(Имеющая массив|array $ids, array $columns = ['*'])
Найти несколько связанных моделей по их первичным ключам.
Модель|Коллекция findOrFail(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или выбросить исключение.
Модель|BelongsToMany firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where к запросу и вернуть первый результат.
mixed first(array $columns = ['*'])
Выполнить запрос и получить первый результат.
Модель|BelongsToMany firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение.
protected array shouldSelect(array $columns = ['*'])
Получить столбцы select для запроса отношения.
protected array aliasedPivotColumns()
Получить столбцы pivot для отношения.
"pivot_" добавляется в качестве префикса к каждому столбцу для легкого удаления позже.
LengthAwarePaginator paginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Получить пагинатор для оператора «select».
Paginator simplePaginate(int|null $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)
Выполнить функцию обратного вызова для каждого элемента с использованием кусков.
LazyCollection cursor()
Получить ленивую коллекцию для данного запроса.
protected void hydratePivotRelation(array $models)
Гидратировать отношение pivot table для моделей.
protected array migratePivotAttributes(Модель $model)
Получить атрибуты pivot из модели.
void touchIfTouching()
Если необходимо обновить родительскую модель, обновить.
protected bool touchingParent()
Определить, нужно ли обновлять родительскую модель при синхронизации.
protected string guessInverseRelation()
Попытка определить имя обратного отношения.
Коллекция allRelatedIds()
Получить все идентификаторы для связанных моделей.
Модель save(Модель $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель и прикрепить её к родительской модели.
массив saveMany(Коллекция|массив $models, array $pivotAttributes = [])
Сохранить массив новых моделей и прикрепить их к родительской модели.
Модель create(array $attributes = [], array $joining = [], bool $touch = true)
Создать новый экземпляр связанной модели.
массив createMany(iterable $records, array $joinings = [])
Создать массив новых экземпляров связанных моделей.
Билдер getRelationExistenceQueryForSelfJoin(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса связи на том же столе.
строка getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе «has».
строка getRelationCountHash()
Получить хеш таблицы соединения отношений.
$this withTimestamps(mixed $createdAt = null, mixed $updatedAt = null)
Указать, что таблица свода имеет метки времени создания и обновления.
строка getForeignPivotKeyName()
Получить внешний ключ для связи.
строка getQualifiedForeignPivotKeyName()
Получить полностью квалифицированный внешний ключ для связи.
строка getRelatedPivotKeyName()
Получить «связанный ключ» для связи.
строка getQualifiedRelatedPivotKeyName()
Получить полностью квалифицированный «связанный ключ» для связи.
строка getParentKeyName()
Получить родительский ключ для связи.
строка getRelatedKeyName()
Получить связанный ключ для связи.
строка getTable()
Получить промежуточную таблицу для связи.
строка getRelationName()
Получить имя связи для связи.
строка getPivotAccessor()
Получить имя доступа к своду для этой связи.
массив getPivotColumns()
Получить столбцы свода для этой связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Database/Eloquent/Relations/BelongsToMany.html