MorphToMany
класс MorphToMany расширяет BelongsToMany (Просмотреть исходный код)
Трейты
| InteractsWithDictionary | |
| InteractsWithPivotTable | |
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый TRelatedModel> | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| защищённый TDeclaringModel | $parent | Экземпляр родительской модели. | из Relation |
| защищённый TRelatedModel | $related | Экземпляр связанной модели. | из Relation |
| защищённый bool | $eagerKeysWereEmpty | Указывает, должна ли жадно загруженная связь неявно возвращать пустой коллекцию. | из Relation |
| статический защищённый bool | $constraints | Указывает, добавляет ли связь ограничения. | из Relation |
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами морф в базе данных. | из Relation |
| статический защищённый bool | $requireMorphMap | Запрещает морф отношения без морф карты. | из Relation |
| статический защищённый int | $selfJoinCount | Количество самосоединений. | из Relation |
| защищённый string | $table | Промежуточная таблица для связи. | из BelongsToMany |
| защищённый string | $foreignPivotKey | Внешний ключ родительской модели. | из BelongsToMany |
| защищённый string | $relatedPivotKey | Связанный ключ отношения. | из BelongsToMany |
| защищённый string | $parentKey | Имя ключа родительской модели. | из BelongsToMany |
| защищённый string | $relatedKey | Имя ключа связанной модели. | из BelongsToMany |
| защищённый string | $relationName | Название связи. | из BelongsToMany |
| защищённый (string|Expression)[] | $pivotColumns | Столбцы промежуточной таблицы для извлечения. | из BelongsToMany |
| защищённый массив | $pivotWheres | Любые ограничения промежуточной таблицы для where-запросов. | из BelongsToMany |
| защищённый массив | $pivotWhereIns | Любые ограничения промежуточной таблицы для whereIn-запросов. | из BelongsToMany |
| защищённый массив | $pivotWhereNulls | Любые ограничения промежуточной таблицы для whereNull-запросов. | из BelongsToMany |
| защищённый массив | $pivotValues | Значения по умолчанию для столбцов промежуточной таблицы. | из BelongsToMany |
| bool | $withTimestamps | Указывает, доступны ли метки времени в промежуточной таблице. | из BelongsToMany |
| защищённый string | $pivotCreatedAt | Пользовательский столбец промежуточной таблицы для метки времени created_at. | из BelongsToMany |
| защищённый string | $pivotUpdatedAt | Пользовательский столбец промежуточной таблицы для метки времени updated_at. | из BelongsToMany |
| защищённый string | $using | Имя класса пользовательской модели промежуточной таблицы для использования в связи. | из BelongsToMany |
| защищённый string | $accessor | Имя аксессора для использования в связи «pivot». | из BelongsToMany |
| защищённый string | $morphType | Тип полиморфной связи. | |
| защищённый string | $morphClass | Имя класса ограничения типа морф. | |
| защищённый bool | $inverse | Указывает, подключаем ли мы обратную сторону связи. |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту. | из ForwardsCalls |
| mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту, возвращая $this, если вызванный метод вернул себя. | из ForwardsCalls |
| static void | throwBadMethodCallException(string $method)
Выбросить исключение неверного вызова метода для заданного метода. | из ForwardsCalls |
| static void | macro(string $name, object|callable $macro)
Зарегистрировать пользовательский макрос. | из Macroable |
| static void | mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс. | из Macroable |
| static bool | hasMacro(string $name)
Проверяет, зарегистрирован ли макрос. | из Macroable |
| static void | flushMacros()
Очистить существующие макросы. | из Macroable |
| static mixed | __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы класса. | из Macroable |
| mixed | __call(string $method, array $parameters)
Динамически обрабатывает вызовы класса. | из Macroable |
| void | __construct(Builder $query, Model $parent, string $name, string|TRelatedModel> $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string|null $relationName = null, bool $inverse = false)
Создать новый экземпляр связи "многие ко многим" с морфизмом. | |
| static mixed | noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений в отношении связи. | из Relation |
| void | addConstraints()
Установить базовые ограничения для запроса связи. | из BelongsToMany |
| void | addEagerConstraints(array $models) Без описания | |
| TDeclaringModel> | initRelation(array $models, string $relation) Без описания | из BelongsToMany |
| TDeclaringModel> | match(array $models, Collection $results, string $relation) Без описания | из BelongsToMany |
| TResult | getResults() Без описания | из BelongsToMany |
| TRelatedModel> | getEager()
Получить отношение для ленивой загрузки. | из Relation |
| TRelatedModel | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись. | из Relation |
| TRelatedModel> | get(array $columns = ['*']) Без описания | из BelongsToMany |
| void | touch()
Обновить все связанные модели для связи. | из BelongsToMany |
| int | rawUpdate(array $attributes = [])
Выполнить прямое обновление для базового запроса. | из Relation |
| TRelatedModel> | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета отношения. | из Relation |
| TRelatedModel> | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Без описания | |
| string | getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш таблицы соединения отношения. | из Relation |
| array<int,int|string> | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | из Relation |
| TRelatedModel> | getRelationQuery()
Получить конструктор запроса, который будет содержать ограничения отношения. | из Relation |
| TRelatedModel> | getQuery()
Получить базовый запрос для отношения. | из Relation |
| Builder | getBaseQuery()
Получить базовый конструктор запроса, управляющий Eloquent-конструктором запроса. | из Relation |
| Builder | toBase()
Получить базовый экземпляр конструктора запроса. | из Relation |
| TDeclaringModel | getParent()
Получить родительскую модель отношения. | из Relation |
| string | getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа для отношения. | из BelongsToMany |
| TRelatedModel | getRelated()
Получить связанную модель отношения. | из Relation |
| string | createdAt()
Получить имя колонки "created at". | из BelongsToMany |
| string | updatedAt()
Получить имя колонки "updated at". | из BelongsToMany |
| string | relatedUpdatedAt()
Получить имя колонки "updated at" связанной модели. | из Relation |
| void | whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null)
Добавить ограничение whereIn для жадного загрузки заданного набора ключей модели. | из Relation |
| string | whereInMethod(Model $model, string $key)
Получить имя метода "where in" для жадной загрузки. | из Relation |
| static void | requireMorphMap(bool $requireMorphMap = true)
Предотвратить использование полиморфных отношений без сопоставлений моделей. | из Relation |
| static bool | requiresMorphMap()
Определить, требуют ли полиморфные отношения явного сопоставления моделей. | из Relation |
| static array | enforceMorphMap(array $map, bool $merge = true)
Определить морф-сопоставление для полиморфных отношений и потребовать, чтобы все модели, изменяющие форму, были явно сопоставлены. | из Relation |
| static array | morphMap(array|null $map = null, bool $merge = true)
Установить или получить морф-сопоставление для полиморфных отношений. | из Relation |
| static array|null | buildMorphMapFromModels(array|null $models = null)
Создаёт массив с ключами таблиц из имён классов моделей. | из Relation |
| static string|null | getMorphedModel(string $alias)
Получить модель, связанную с настраиваемым полиморфным типом. | из Relation |
| static int|string | getMorphAlias(string $className)
Получить псевдоним, связанный с настраиваемым полиморфным классом. | из Relation |
| void | __clone()
Принудительно клонировать подчинённый билдер запросов при клонировании. | из Relation |
| mixed | getDictionaryKey(mixed $attribute)
Получить атрибут ключа словаря — преобразовав его в строку при необходимости. | из InteractsWithDictionary |
| array | toggle(mixed $ids, bool $touch = true)
Переключает модель (или модели) от родителя. | из InteractsWithPivotTable |
| syncWithoutDetaching(Collection|Model|array $ids)
Синхронизировать промежуточные таблицы со списком идентификаторов без отсоединения. | из InteractsWithPivotTable | |
| sync(Collection|Model|array $ids, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей. | из InteractsWithPivotTable | |
| syncWithPivotValues(Collection|Model|array $ids, array $values, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей с заданными значениями pivot. | из InteractsWithPivotTable | |
| array | formatRecordsList(array $records)
Форматировать список записей sync / toggle так, чтобы он индексировался по ID. | из 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)
Создать массив записей для вставки в сводную таблицу. | из 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)
Создать новую запись прикрепления к сводной таблице. | |
| array | addTimestampsToAttachment(array $record, bool $exists = false)
Установить метки времени создания и обновления для записи прикрепления. | из InteractsWithPivotTable |
| bool | hasPivotColumn(string $column)
Определить, является ли заданный столбец столбцом сводной таблицы. | из InteractsWithPivotTable |
| int | detach(mixed $ids = null, bool $touch = true)
Отсоединить модели от отношения. | из InteractsWithPivotTable |
| int | detachUsingCustomClass(mixed $ids)
Отсоединить модели от отношения с использованием пользовательского класса. | из InteractsWithPivotTable |
| Collection | getCurrentlyAttachedPivots()
Получить модели сводной таблицы, которые в настоящее время присоединены. | |
| Pivot | newPivot(array $attributes = [], bool $exists = false)
Создать новый экземпляр модели сводной таблицы. | |
| Pivot | newExistingPivot(array $attributes = [])
Создать новый существующий экземпляр модели сводной таблицы. | из InteractsWithPivotTable |
| Builder | newPivotStatement()
Получить новый простой билдер запросов для сводной таблицы. | из InteractsWithPivotTable |
| Builder | newPivotStatementForId(mixed $id)
Получить новый запрос сводной таблицы для заданного идентификатора. | из InteractsWithPivotTable |
| Builder | newPivotQuery()
Создать новый билдер запросов для сводной таблицы. | |
| $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)
Попытка разрешить имя промежуточной таблицы из заданной строки. | из BelongsToMany |
| $this | performJoin(TRelatedModel>|null $query = null)
Установить условие объединения для запроса отношения. | из BelongsToMany |
| $this | addWhereConstraints()
Установить условие where для запроса отношения. | |
| TRelatedModel>[] | buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу отношения. | из BelongsToMany |
| string | getPivotClass()
Получить класс, используемый для моделей сводной таблицы. | из BelongsToMany |
| $this | using(string $class)
Указать пользовательскую модель сводной таблицы для использования в отношении. | из BelongsToMany |
| $this | as(string $accessor)
Указать пользовательский аксессор сводной таблицы для использования в отношении. | из BelongsToMany |
| $this | wherePivot(string|Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Установите условие where для столбца таблицы связи. | из BelongsToMany |
| $this | wherePivotBetween(string|Expression $column, array $values, string $boolean = 'and', bool $not = false)
Установите условие «where between» для столбца таблицы связи. | из BelongsToMany |
| $this | orWherePivotBetween(string|Expression $column, array $values)
Установите условие «or where between» для столбца таблицы связи. | из BelongsToMany |
| $this | wherePivotNotBetween(string|Expression $column, array $values, string $boolean = 'and')
Установите условие «where pivot not between» для столбца таблицы связи. | из BelongsToMany |
| $this | orWherePivotNotBetween(string|Expression $column, array $values)
Установите условие «or where not between» для столбца таблицы связи. | из BelongsToMany |
| $this | wherePivotIn(string|Expression $column, mixed $values, string $boolean = 'and', bool $not = false)
Установите условие «where in» для столбца таблицы связи. | из BelongsToMany |
| $this | orWherePivot(string|Expression $column, mixed $operator = null, mixed $value = null)
Установите условие «or where» для столбца таблицы связи. | из BelongsToMany |
| $this | withPivotValue(string|Expression|array<string,string> $column, mixed $value = null)
Установите условие where для столбца таблицы связи. | из BelongsToMany |
| $this | orWherePivotIn(string $column, mixed $values)
Установите условие «or where in» для столбца таблицы связи. | из BelongsToMany |
| $this | wherePivotNotIn(string|Expression $column, mixed $values, string $boolean = 'and')
Установите условие «where not in» для столбца таблицы связи. | из BelongsToMany |
| $this | orWherePivotNotIn(string $column, mixed $values)
Установите условие «or where not in» для столбца таблицы связи. | из BelongsToMany |
| $this | wherePivotNull(string|Expression $column, string $boolean = 'and', bool $not = false)
Установите условие «where null» для столбца таблицы связи. | из BelongsToMany |
| $this | wherePivotNotNull(string|Expression $column, string $boolean = 'and')
Установите условие «where not null» для столбца таблицы связи. | из BelongsToMany |
| $this | orWherePivotNull(string|Expression $column, bool $not = false)
Установите условие «or where null» для столбца таблицы связи. | из BelongsToMany |
| $this | orWherePivotNotNull(string|Expression $column)
Установите условие «or where not null» для столбца таблицы связи. | из BelongsToMany |
| $this | orderByPivot(string|Expression $column, string $direction = 'asc')
Добавьте условие «order by» для столбца таблицы связи. | из BelongsToMany |
| findOrNew(mixed $id, array $columns = ['*'])
Найдите связанную модель по её первичному ключу или верните новый экземпляр связанной модели. | из BelongsToMany | |
| TRelatedModel | firstOrNew(array $attributes = [], array $values = [])
Получите первую связанную модель, соответствующую атрибутам, или создайте её. | из BelongsToMany |
| TRelatedModel | firstOrCreate(array $attributes = [], array $values = [], array $joining = [], bool $touch = true)
Получите первую запись, соответствующую атрибутам. Если записи нет, создайте её. | из BelongsToMany |
| TRelatedModel | createOrFirst(array $attributes = [], array $values = [], array $joining = [], bool $touch = true)
Попытайтесь создать запись. Если произойдёт нарушение ограничения уникальности, попытайтесь найти соответствующую запись. | из BelongsToMany |
| TRelatedModel | updateOrCreate(array $attributes, array $values = [], array $joining = [], bool $touch = true)
Создайте или обновите связанную запись, соответствующую атрибутам, и заполните её значениями. | из BelongsToMany |
| find(mixed $id, array $columns = ['*'])
Найдите связанную модель по её первичному ключу. | из BelongsToMany | |
| TRelatedModel> | findMany(Arrayable|array $ids, array $columns = ['*'])
Найдите несколько связанных моделей по их первичным ключам. | из BelongsToMany |
| findOrFail(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или выбросить исключение. | из BelongsToMany | |
| findOr($id, $columns = ['*'], Closure|null $callback = null) Описание отсутствует | из BelongsToMany | |
| TRelatedModel|null | firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where к запросу и вернуть первый результат. | из BelongsToMany |
| TRelatedModel|null | first(array $columns = ['*'])
Выполнить запрос и получить первый результат. | из BelongsToMany |
| TRelatedModel | firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение. | из BelongsToMany |
| firstOr($columns = ['*'], Closure|null $callback = null) Описание отсутствует | из BelongsToMany | |
| array | shouldSelect(array $columns = ['*'])
Получить столбцы select для запроса отношения. | из BelongsToMany |
| array | aliasedPivotColumns()
Получить столбцы pivot для отношения. | |
| 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 |
| CursorPaginator | cursorPaginate(int|null $perPage = null, array $columns = ['*'], string $cursorName = 'cursor', string|null $cursor = 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 | chunkByIdDesc(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски по идентификаторам в порядке убывания. | из BelongsToMany |
| bool | eachById(callable $callback, int $count = 1000, string|null $column = null, string|null $alias = null)
Применить обратный вызов к каждому элементу, разбивая данные по ID. | из BelongsToMany |
| bool | orderedChunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null, bool $descending = false)
Разбить результаты запроса на куски по идентификаторам в заданном порядке. | из BelongsToMany |
| bool | each(callable $callback, int $count = 1000)
Применить обратный вызов к каждому элементу, разбивая данные на куски. | из BelongsToMany |
| TRelatedModel> | lazy(int $chunkSize = 1000)
Выполнить запрос лениво, разбивая на куски заданного размера. | из BelongsToMany |
| TRelatedModel> | lazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Выполнить запрос лениво, разбивая результаты по идентификаторам. | из BelongsToMany |
| TRelatedModel> | lazyByIdDesc(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Выполнить запрос лениво, разбивая результаты по идентификаторам в порядке убывания. | из BelongsToMany |
| TRelatedModel> | cursor()
Получить ленивую коллекцию для данного запроса. | из BelongsToMany |
| TRelatedModel> | prepareQueryBuilder()
Подготовить билдер запроса для выполнения. | из BelongsToMany |
| void | hydratePivotRelation(array $models)
Заполнить отношение pivot таблицы для моделей. | из BelongsToMany |
| array | migratePivotAttributes(Model $model)
Получить атрибуты pivot из модели. | из BelongsToMany |
| void | touchIfTouching()
Если нужно обновить родительскую модель, обновить. | из BelongsToMany |
| bool | touchingParent()
Определить, нужно ли обновить родительскую модель при синхронизации. | из BelongsToMany |
| string | guessInverseRelation()
Попытка определить имя обратного отношения. | из BelongsToMany |
| Collection<int,int|string> | всеСвязанныеId()
Получить все идентификаторы связанных моделей. | из BelongsToMany |
| TRelatedModel | сохранить(Модель $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель и привязать её к родительской модели. | из BelongsToMany |
| TRelatedModel | сохранитьБезСобытий(Модель $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель без срабатывания событий и привязать её к родительской модели. | из BelongsToMany |
| TContainer | сохранитьМножество(TContainer $models, array $pivotAttributes = [])
Сохранить массив новых моделей и привязать их к родительской модели. | из BelongsToMany |
| TContainer | сохранитьМножествоБезСобытий(TContainer $models, array $pivotAttributes = [])
Сохранить массив новых моделей без срабатывания событий и привязать их к родительской модели. | из BelongsToMany |
| TRelatedModel | создать(array $attributes = [], array $joining = [], bool $touch = true)
Создать новый экземпляр связанной модели. | из BelongsToMany |
| TRelatedModel> | создатьМножество(iterable $records, array $joinings = [])
Создать массив новых экземпляров связанных моделей. | из BelongsToMany |
| TRelatedModel> | запросСуществованияСвязиДляСамосоединения(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на том же столе. | из BelongsToMany |
| $this | взять(int $value)
Псевдоним для задания значения «limit» запроса. | из BelongsToMany |
| $this | ограничить(int $value)
Задать значение «limit» запроса. | из BelongsToMany |
| string | получитьКлючСравненияДляСуществования()
Получить ключ для сравнения с родительским ключом в запросе «has». | из BelongsToMany |
| $this | сОтметкамиВремени(mixed $createdAt = null, mixed $updatedAt = null)
Указать, что в таблице связи есть отметки о создании и обновлении. | из BelongsToMany |
| string | получитьВнешнийКлючСвязи()
Получить внешний ключ для отношения. | из BelongsToMany |
| string | получитьПолныйВнешнийКлючСвязи()
Получить полностью квалифицированный внешний ключ для отношения. | из BelongsToMany |
| string | получитьСвязанныйКлючСвязи()
Получить «связанный ключ» для отношения. | из BelongsToMany |
| string | получитьПолныйСвязанныйКлючСвязи()
Получить полностью квалифицированный «связанный ключ» для отношения. | из BelongsToMany |
| string | получитьКлючРодителя()
Получить родительский ключ для отношения. | из BelongsToMany |
| string | получитьКлючСвязанного()
Получить связанный ключ для отношения. | из BelongsToMany |
| string | получитьПолныйКлючСвязанного()
Получить полностью квалифицированное имя связанного ключа для отношения. | из BelongsToMany |
| string | получитьТаблицу()
Получить промежуточную таблицу для отношения. | из BelongsToMany |
| string | получитьИмяОтношения()
Получить имя отношения для отношения. | из BelongsToMany |
| string | получитьДоступкСвязи()
Получить имя доступа к связи для данного отношения. | из BelongsToMany |
| array | получитьСтолбцыСвязи()
Получить столбцы связи для данного отношения. | из BelongsToMany |
| string|Expression | квалифицироватьСтолбецСвязи(string|Expression $column)
Квалифицировать заданное имя столбца с помощью таблицы связи. | из BelongsToMany |
| string | получитьТипВнешнегоКлюча()
Получить имя внешнего ключа «type». | |
| string | получитьПолныйТипВнешнегоКлюча()
Получить полностью квалифицированный тип morph для отношения. | |
| string | получитьКлассРодителя()
Получить имя класса родительской модели. | |
| bool | получитьОбратное()
Получить индикатор обратного отношения. |
Подробности
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту.
protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту, возвращая $this, если перенаправленный вызов вернул себя.
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 void flushMacros()
Очистить существующие макрокоманды.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
mixed __call(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
void __construct(Builder $query, Model $parent, string $name, string|TRelatedModel> $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string|null $relationName = null, bool $inverse = false)
Создать новый экземпляр связи many-to-many morph.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями для связи.
void addConstraints()
Установить базовые ограничения для запроса связи.
void addEagerConstraints(array $models)
Без описания
TDeclaringModel> initRelation(array $models, string $relation)
Без описания
TDeclaringModel> match(array $models, Collection $results, string $relation)
Без описания
TResult getResults()
Без описания
TRelatedModel> getEager()
Получить отношение для ленивой загрузки.
TRelatedModel sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись.
TRelatedModel> get(array $columns = ['*'])
Описание отсутствует
void touch()
Обновить все связанные модели для отношения.
Например: Обновить все роли, связанные с этим пользователем.
int rawUpdate(array $attributes = [])
Выполнить сырое обновление по базовому запросу.
TRelatedModel> getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета отношения.
TRelatedModel> getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Описание отсутствует
string getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш таблицы соединения отношения.
protected array<int,int|string> getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
protected TRelatedModel> getRelationQuery()
Получить конструктор запроса, который будет содержать ограничения отношения.
TRelatedModel> getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый конструктор запроса, управляющий конструктором Eloquent.
Builder toBase()
Получить экземпляр базового конструктора запроса.
TDeclaringModel getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа для отношения.
TRelatedModel getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца "создано в".
string updatedAt()
Получить имя столбца "обновлено в".
string relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели.
protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null)
Добавить ограничение whereIn для загрузки указанного набора ключей моделей.
protected string whereInMethod(Model $model, string $key)
Получить имя метода "where in" для загрузки с помощью eager loading.
static void requireMorphMap(bool $requireMorphMap = true)
Предотвратить использование полиморфных отношений без сопоставлений моделей.
static bool requiresMorphMap()
Определить, требуют ли полиморфные отношения явное отображение модели.
static array enforceMorphMap(array $map, bool $merge = true)
Определить отображение морф для полиморфных отношений и потребовать, чтобы все модели с морфом были явно сопоставлены.
static array morphMap(array|null $map = null, bool $merge = true)
Установить или получить отображение морф для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array|null $models = null)
Создаёт массив с ключами таблиц из имён классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
static int|string getMorphAlias(string $className)
Получить псевдоним, связанный с пользовательским полиморфным классом.
void __clone()
Принудительно клонировать базовый генератор запросов при клонировании.
protected mixed getDictionaryKey(mixed $attribute)
Получить атрибут ключа словаря — при необходимости преобразовать его в строку.
array toggle(mixed $ids, bool $touch = true)
Переключает модель (или модели) из родителя.
Каждая существующая модель отсоединяется, а несуществующие — присоединяются.
syncWithoutDetaching(Collection|Model|array $ids)
Синхронизировать промежуточные таблицы со списком идентификаторов без отсоединения.
sync(Collection|Model|array $ids, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или набором моделей.
syncWithPivotValues(Collection|Model|array $ids, array $values, bool $detaching = true)
Синхронизировать промежуточные таблицы со списком идентификаторов или набором моделей с заданными значениями pivot.
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(TRelatedModel>|null $query = null)
Установить предложение JOIN для запроса отношения.
protected $this addWhereConstraints()
Установить предложение WHERE для запроса отношения.
protected TRelatedModel>[] buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу отношения.
string getPivotClass()
Получить класс, используемый для моделей мостов.
$this using(string $class)
Указать пользовательскую модель моста для использования в отношении.
$this as(string $accessor)
Указать пользовательский аксессор моста для использования в отношении.
$this wherePivot(string|Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Установить предложение WHERE для столбца таблицы моста.
$this wherePivotBetween(string|Expression $column, array $values, string $boolean = 'and', bool $not = false)
Установить предложение "where between" для столбца таблицы моста.
$this orWherePivotBetween(string|Expression $column, array $values)
Установить предложение "or where between" для столбца таблицы моста.
$this wherePivotNotBetween(string|Expression $column, array $values, string $boolean = 'and')
Установить предложение "where pivot not between" для столбца таблицы моста.
$this orWherePivotNotBetween(string|Expression $column, array $values)
Установить предложение "or where not between" для столбца таблицы моста.
$this wherePivotIn(string|Expression $column, mixed $values, string $boolean = 'and', bool $not = false)
Установить предложение "where in" для столбца таблицы моста.
$this orWherePivot(string|Expression $column, mixed $operator = null, mixed $value = null)
Установить предложение "or where" для столбца таблицы моста.
$this withPivotValue(string|Expression|array<string,string> $column, mixed $value = null)
Установить предложение WHERE для столбца таблицы моста.
Кроме того, новые записи мостов получат это значение.
$this orWherePivotIn(string $column, mixed $values)
Установите условие «или где в» для столбца таблицы сводки.
$this wherePivotNotIn(string|Expression $column, mixed $values, string $boolean = 'and')
Установите условие «где не в» для столбца таблицы сводки.
$this orWherePivotNotIn(string $column, mixed $values)
Установите условие «или где не в» для столбца таблицы сводки.
$this wherePivotNull(string|Expression $column, string $boolean = 'and', bool $not = false)
Установите условие «где null» для столбца таблицы сводки.
$this wherePivotNotNull(string|Expression $column, string $boolean = 'and')
Установите условие «где не null» для столбца таблицы сводки.
$this orWherePivotNull(string|Expression $column, bool $not = false)
Установите условие «или где null» для столбца таблицы сводки.
$this orWherePivotNotNull(string|Expression $column)
Установите условие «или где не null» для столбца таблицы сводки.
$this orderByPivot(string|Expression $column, string $direction = 'asc')
Добавьте условие «отсортировать по» для столбца таблицы сводки.
findOrNew(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или вернуть новый экземпляр связанной модели.
TRelatedModel firstOrNew(array $attributes = [], array $values = [])
Получить первую запись связанной модели, соответствующую атрибутам, или создать новую.
TRelatedModel firstOrCreate(array $attributes = [], array $values = [], array $joining = [], bool $touch = true)
Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её.
TRelatedModel createOrFirst(array $attributes = [], array $values = [], array $joining = [], bool $touch = true)
Попытка создания записи. Если возникает нарушение уникальности, поиск совпадающей записи.
TRelatedModel updateOrCreate(array $attributes, array $values = [], array $joining = [], bool $touch = true)
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
find(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу.
TRelatedModel> findMany(Arrayable|array $ids, array $columns = ['*'])
Найти несколько связанных моделей по их первичным ключам.
findOrFail(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или выбросить исключение.
findOr($id, $columns = ['*'], Closure|null $callback = null)
Без описания
TRelatedModel|null firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where к запросу и вернуть первый результат.
TRelatedModel|null first(array $columns = ['*'])
Выполнить запрос и получить первый результат.
TRelatedModel firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат, иначе выбросить исключение.
firstOr($columns = ['*'], Closure|null $callback = null)
Без описания
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)
Разбить данные запроса на страницы с помощью простого пагинатора.
CursorPaginator cursorPaginate(int|null $perPage = null, array $columns = ['*'], string $cursorName = 'cursor', string|null $cursor = null)
Разбить данные запроса на страницы с помощью пагинатора на основе курсора.
bool chunk(int $count, callable $callback)
Разбить результаты запроса на куски.
bool chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски по числовым идентификаторам.
bool chunkByIdDesc(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски по идентификаторам в порядке убывания.
bool eachById(callable $callback, int $count = 1000, string|null $column = null, string|null $alias = null)
Выполнить функцию обратного вызова для каждого элемента, разбивая по ID.
bool orderedChunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null, bool $descending = false)
Разбить результаты запроса на куски по идентификаторам в заданном порядке.
bool each(callable $callback, int $count = 1000)
Выполнить функцию обратного вызова для каждого элемента, разбивая на куски.
TRelatedModel> lazy(int $chunkSize = 1000)
Запрос в режиме ленивой загрузки, по частям заданного размера.
TRelatedModel> lazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Запрос в режиме ленивой загрузки, разбивая результаты запроса по частям путем сравнения идентификаторов.
TRelatedModel> lazyByIdDesc(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Запрос в режиме ленивой загрузки, разбивая результаты запроса по частям путем сравнения идентификаторов в порядке убывания.
TRelatedModel> cursor()
Получить ленивую коллекцию для данного запроса.
protected TRelatedModel> prepareQueryBuilder()
Подготовить билдер запроса для выполнения запроса.
protected void hydratePivotRelation(array $models)
Заполнить отношение к таблице связей в моделях.
protected array migratePivotAttributes(Model $model)
Получить атрибуты таблицы связей из модели.
void touchIfTouching()
Если необходимо обновить родительскую модель, обновить.
protected bool touchingParent()
Определить, нужно ли обновлять родительскую модель при синхронизации.
protected string guessInverseRelation()
Попытка угадать имя обратного отношения.
Collection<int,int|string> allRelatedIds()
Получить все идентификаторы связанных моделей.
TRelatedModel save(Модель $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель и прикрепить её к родительской модели.
TRelatedModel saveQuietly(Модель $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель без срабатывания событий и прикрепить её к родительской модели.
TContainer saveMany(TContainer $models, array $pivotAttributes = [])
Сохранить массив новых моделей и прикрепить их к родительской модели.
TContainer saveManyQuietly(TContainer $models, array $pivotAttributes = [])
Сохранить массив новых моделей без срабатывания событий и прикрепить их к родительской модели.
TRelatedModel create(array $attributes = [], array $joining = [], bool $touch = true)
Создать новый экземпляр связанной модели.
TRelatedModel> createMany(iterable $records, array $joinings = [])
Создать массив новых экземпляров связанных моделей.
TRelatedModel> getRelationExistenceQueryForSelfJoin(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения к одной и той же таблице.
$this take(int $value)
Псевдоним для установки значения «limit» запроса.
$this limit(int $value)
Установить значение «limit» запроса.
строка getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе «has».
$this withTimestamps(mixed $createdAt = null, mixed $updatedAt = null)
Указать, что сводная таблица имеет метки времени создания и обновления.
строка getForeignPivotKeyName()
Получить внешний ключ для связи.
строка getQualifiedForeignPivotKeyName()
Получить полностью квалифицированный внешний ключ для связи.
строка getRelatedPivotKeyName()
Получить «связанный ключ» для связи.
строка getQualifiedRelatedPivotKeyName()
Получить полностью квалифицированный «связанный ключ» для связи.
строка getParentKeyName()
Получить родительский ключ для связи.
строка getRelatedKeyName()
Получить связанный ключ для связи.
строка getQualifiedRelatedKeyName()
Получить полностью квалифицированное имя связанного ключа для связи.
строка getTable()
Получить промежуточную таблицу для связи.
строка getRelationName()
Получить имя связи для связи.
строка getPivotAccessor()
Получить имя аксессора для сводной таблицы для этой связи.
массив getPivotColumns()
Получить столбцы сводной таблицы для этой связи.
строка|Выражение qualifyPivotColumn(строка|Выражение $column)
Квалифицировать заданное имя столбца по сводной таблице.
строка getMorphType()
Получить имя внешнего ключа «тип».
строка getQualifiedMorphTypeName()
Получить полностью квалифицированный тип морфинг для связи.
строка getMorphClass()
Получить имя класса родительской модели.
логический тип getInverse()
Получить индикатор обратной связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/11.x/Illuminate/Database/Eloquent/Relations/MorphToMany.html