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