BelongsToMany
класс BelongsToMany расширяет Relation (Просмотреть исходный код)
Трейты
| InteractsWithPivotTable | |
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый Builder | $query | Экземпляр Eloquent-строителя запросов. | из Relation |
| защищённый Model | $parent | Экземпляр родительской модели. | из Relation |
| защищённый Model | $related | Экземпляр связанной модели. | из Relation |
| статический защищённый булево | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами morph в базе данных. | из Relation |
| защищённый строка | $table | Промежуточная таблица для отношения. | |
| защищённый строка | $foreignPivotKey | Внешний ключ родительской модели. | |
| защищённый строка | $relatedPivotKey | Связанный ключ отношения. | |
| защищённый строка | $parentKey | Имя ключа родительской модели. | |
| защищённый строка | $relatedKey | Имя ключа связанной модели. | |
| защищённый строка | $relationName | «Имя» отношения. | |
| защищённый массив | $pivotColumns | Столбцы промежуточной таблицы для извлечения. | |
| защищённый массив | $pivotWheres | Любые ограничения для промежуточной таблицы для операторов where. | |
| защищённый массив | $pivotWhereIns | Любые ограничения для промежуточной таблицы для операторов whereIn. | |
| защищённый массив | $pivotValues | Значения по умолчанию для столбцов промежуточной таблицы. | |
| булево | $withTimestamps | Указывает, доступны ли метки времени в промежуточной таблице. | |
| защищённый строка | $pivotCreatedAt | Пользовательский столбец промежуточной таблицы для метки времени created_at. | |
| защищённый строка | $pivotUpdatedAt | Пользовательский столбец промежуточной таблицы для метки времени updated_at. | |
| защищённый строка | $using | Имя класса пользовательской модели pivot для использования в отношении. | |
| защищённый строка | $accessor | Имя аксессора для использования в отношении «pivot». | |
| статический защищённый целое число | $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)
Создать новый экземпляр отношения принадлежности ко многим. | |
| 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)
Установить или получить карту морфирования для полиморфных отношений. | 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) Получить все идентификаторы из заданного смешанного значения. | из InteractsWithPivotTable |
| mixed | parseId(mixed $value) Получить идентификатор из заданного смешанного значения. | из 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) Установить условие объединения для запроса отношения. | |
| $this | addWhereConstraints() Установить условие where для запроса отношения. | |
| array | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | |
| string | getPivotClass() Получить класс, используемый для моделей связей. | |
| $this | using(string $class) Указать пользовательскую модель связей для использования в отношении. | |
| $this | as(string $accessor) Указать пользовательский аксессор связей для использования в отношении. | |
| $this | wherePivot(string $column, string|null $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|null $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" для столбца таблицы связей. | |
| 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 = ['*']) Найти несколько связанных моделей по их первичным ключам. | |
| Model|Collection | findOrFail(mixed $id, array $columns = ['*']) Найти связанную модель по ее первичному ключу или бросить исключение. | |
| Model|BelongsToMany | firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and') Добавить базовое условие where к запросу и вернуть первый результат. | |
| mixed | first(array $columns = ['*']) Выполнить запрос и получить первый результат. | |
| Model|BelongsToMany | firstOrFail(array $columns = ['*']) Выполнить запрос и получить первый результат или бросить исключение. | |
| array | shouldSelect(array $columns = ['*']) Получить столбцы select для запроса отношения. | |
| 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)
Заполнить связанные таблицы pivot для моделей. | |
| array | migratePivotAttributes(Model $model)
Получить атрибуты pivot из модели. | |
| void | touchIfTouching()
Если мы изменяем родительскую модель, обновить. | |
| bool | touchingParent()
Определить, нужно ли обновлять родительскую модель при синхронизации. | |
| 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(iterable $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)
Указать, что таблица pivot имеет метки времени создания и обновления. | |
| string | getForeignPivotKeyName()
Получить внешний ключ для отношения. | |
| string | getQualifiedForeignPivotKeyName()
Получить полностью квалифицированный внешний ключ для отношения. | |
| string | getRelatedPivotKeyName()
Получить «связанный ключ» для отношения. | |
| string | getQualifiedRelatedPivotKeyName()
Получить полностью квалифицированный «связанный ключ» для отношения. | |
| string | getParentKeyName()
Получить родительский ключ для отношения. | |
| string | getRelatedKeyName()
Получить связанный ключ для отношения. | |
| string | getTable()
Получить промежуточную таблицу для отношения. | |
| string | getRelationName()
Получить имя отношения для отношения. | |
| string | getPivotAccessor()
Получить имя доступа к pivot для этого отношения. | |
| array | getPivotColumns()
Получить столбцы pivot для этого отношения. |
Details
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода к данному объекту.
static protected void throwBadMethodCallException(string $method)
Вызвать исключение BadMethodCall для данного метода.
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 $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 = ['*'])
Выполнить запрос как операцию "выбор".
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.
Модель getParent()
Получить родительскую модель связи.
строка getQualifiedParentKeyName()
Получить полное имя родительского ключа для связи.
Модель getRelated()
Получить связанную модель связи.
строка createdAt()
Получить имя столбца "created at".
строка updatedAt()
Получить имя столбца "updated at".
строка relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
protected строка whereInMethod(Модель $model, строка $key)
Получить имя метода "where in" для леничной загрузки.
static массив morphMap(массив $map = null, bool $merge = true)
Установить или получить карту морфинга для полиморфных связей.
static protected массив|null buildMorphMapFromModels(массив $models = null)
Строит массив с ключами таблиц из имен классов моделей.
static строка|null getMorphedModel(строка $alias)
Получить модель, связанную с пользовательским полиморфным типом.
пусто __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
массив toggle(смешанный $ids, bool $touch = true)
Переключает модель (или модели) от родителя.
Каждая существующая модель отсоединяется, а несуществующие — присоединяются.
массив syncWithoutDetaching(Коллекция|Модель|массив $ids)
Синхронизировать промежуточные таблицы со списком идентификаторов без отсоединения.
массив sync(Коллекция|Модель|массив $ids, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей.
protected массив formatRecordsList(массив $records)
Форматировать список записей синхронизации/переключения, чтобы он был индексирован по идентификатору.
protected массив attachNew(массив $records, массив $current, bool $touch = true)
Присоединить все записи, которых нет в заданных текущих записях.
целое число updateExistingPivot(смешанный $id, массив $attributes, bool $touch = true)
Обновить существующую запись-связь в таблице.
protected целое число updateExistingPivotUsingCustomClass(смешанный $id, массив $attributes, bool $touch)
Обновить существующую запись-связь в таблице через пользовательский класс.
пусто attach(смешанный $id, массив $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, string|null $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|null $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" для столбца таблицы связки.
Collection|Model findOrNew(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или вернуть новую модель.
Model 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 = ['*'])
Найти связанную модель по её первичному ключу или выбросить исключение.
Модель|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)
Гидратировать отношение к таблице сводок на моделях.
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(iterable $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()
Получить имя аксессора оси для этого отношения.
array getPivotColumns()
Получить столбцы оси для этого отношения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/6.x/Illuminate/Database/Eloquent/Relations/BelongsToMany.html