MorphToMany
класс MorphToMany расширяет BelongsToMany (Просмотреть исходный код)
Трейты
| InteractsWithPivotTable | |
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый Builder | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| защищённый Model | $parent | Экземпляр родительской модели. | из Relation |
| защищённый Model | $related | Экземпляр связанной модели. | из Relation |
| статический защищённый bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами морф в базе данных. | из Relation |
| защищённый string | $table | Промежуточная таблица для отношения. | из BelongsToMany |
| защищённый string | $foreignPivotKey | Внешний ключ родительской модели. | из BelongsToMany |
| защищённый string | $relatedPivotKey | Связанный ключ отношения. | из BelongsToMany |
| защищённый string | $parentKey | Имя ключа родительской модели. | из BelongsToMany |
| защищённый string | $relatedKey | Имя ключа связанной модели. | из BelongsToMany |
| защищённый string | $relationName | «Имя» отношения. | из BelongsToMany |
| защищённый массив | $pivotColumns | Столбцы таблицы связей для извлечения. | из BelongsToMany |
| защищённый массив | $pivotWheres | Любые ограничения таблицы связей для where-запросов. | из BelongsToMany |
| защищённый массив | $pivotWhereIns | Любые ограничения таблицы связей для whereIn-запросов. | из BelongsToMany |
| защищённый массив | $pivotValues | Значения по умолчанию для столбцов таблицы связей. | из BelongsToMany |
| bool | $withTimestamps | Указывает, доступны ли метки времени в таблице связей. | из BelongsToMany |
| защищённый string | $pivotCreatedAt | Пользовательский столбец таблицы связей для метки времени created_at. | из BelongsToMany |
| protected string | $pivotUpdatedAt | Столбец пользовательской сводной таблицы для метки времени updated_at. | from BelongsToMany |
| protected string | $using | Имя класса пользовательской модели сводной таблицы для использования в связи. | from BelongsToMany |
| protected string | $accessor | Имя аксессора для использования в связи "pivot". | from BelongsToMany |
| static protected int | $selfJoinCount | Количество самосоединений. | from 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 $relationName = null, bool $inverse = false)
Создать новый экземпляр связи «многие ко многим» с морфированием. | |
| 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 |
| Коллекция | getEager()
Получить отношение для ленивой загрузки. | из Отношения |
| Коллекция | get(array $columns = ['*'])
Выполнить запрос в качестве оператора «select». | из Связь "многие ко многим" |
| void | touch()
Обновить все связанные модели для отношения. | из Связь "многие ко многим" |
| int | rawUpdate(array $attributes = [])
Выполнить сырое обновление по основному запросу. | из Отношения |
| Билдер | getRelationExistenceCountQuery(Билдер $query, Билдер $parentQuery)
Добавить ограничения для запроса подсчёта существования отношения. | из Отношения |
| Билдер | getRelationExistenceQuery(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса подсчёта существования отношения. | |
| array | getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей. | из Отношения |
| Билдер | getQuery()
Получить базовый запрос для отношения. | из Отношения |
| Билдер | getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent. | из Отношения |
| Модель | getParent()
Получить родительскую модель отношения. | из Отношения |
| string | getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа для отношения. | из Связь "многие ко многим" |
| Модель | getRelated()
Получить связанную модель отношения. | из Отношения |
| string | createdAt()
Получить имя столбца «создано в». | из Связь "многие ко многим" |
| string | updatedAt()
Получить имя столбца «обновлено в». | из Связь "многие ко многим" |
| 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)
Форматирует список записей синхронизации/переключения так, чтобы он был индексирован по идентификатору. | 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)
Обновить существующую запись связи в таблице через пользовательский класс. | 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)
Создать массив записей для вставки в таблицу связи. | 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)
Создать новую запись связи. | |
| array | addTimestampsToAttachment(array $record, bool $exists = false)
Установить метки времени создания и обновления для записи присоединения. | from InteractsWithPivotTable |
| bool | hasPivotColumn(string $column)
Определить, является ли данный столбец столбцом связи. | from InteractsWithPivotTable |
| int | detach(mixed $ids = null, bool $touch = true)
Отсоединить модели от отношения. | from InteractsWithPivotTable |
| int | detachUsingCustomClass(mixed $ids)
Отсоединить модели от отношения, используя пользовательский класс. | from InteractsWithPivotTable |
| Collection | getCurrentlyAttachedPivots()
Получить модели связи, которые в настоящее время прикреплены. | |
| Pivot | newPivot(array $attributes = [], bool $exists = false)
Создать новый экземпляр модели связи. |
| Связь | newExistingPivot(array $attributes = [])
Создать новый существующий экземпляр модели связи. | из InteractsWithPivotTable |
| Построитель запросов | newPivotStatement()
Получить новый простой построитель запросов для таблицы связи. | из InteractsWithPivotTable |
| Построитель запросов | newPivotStatementForId(mixed $id)
Получить новое выражение связи для заданного ID. | из InteractsWithPivotTable |
| Построитель запросов | newPivotQuery()
Создать новый построитель запросов для таблицы связи. | |
| $this | withPivot(array|mixed $columns)
Установить столбцы в таблице связи для получения. | из InteractsWithPivotTable |
| массив | parseIds(mixed $value)
Получить все ID из данного смешанного значения. | из InteractsWithPivotTable |
| смешанное | parseId(mixed $value)
Получить ID из данного смешанного значения. | из InteractsWithPivotTable |
| массив | castKeys(array $keys)
Преобразовать данные ключей в целые числа, если они числовые, и в строки в противном случае. | из InteractsWithPivotTable |
| смешанное | castKey(mixed $key)
Преобразовать данный ключ в тип ключа первичного ключа. | из InteractsWithPivotTable |
| массив | castAttributes(array $attributes)
Преобразовать данные атрибутов связи. | из InteractsWithPivotTable |
| смешанное | getTypeSwapValue(string $type, mixed $value)
Преобразует заданное значение в заданный тип значения. | из InteractsWithPivotTable |
| строка | resolveTableName(string $table)
Попытка разрешить имя промежуточной таблицы из данной строки. | из BelongsToMany |
| $this | performJoin(Построитель запросов|null $query = null)
Установить условие объединения для запроса связи. | из BelongsToMany |
| $this | addWhereConstraints()
Установить условие where для запроса связи. |
| array | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | from BelongsToMany |
| string | getPivotClass() Получить класс, используемый для моделей мостика. | from BelongsToMany |
| $this | using(string $class) Указать пользовательскую модель мостика для отношения. | from BelongsToMany |
| $this | as(string $accessor) Указать пользовательский аксессор мостика для отношения. | from BelongsToMany |
| $this | wherePivot(string $column, string|null $operator = null, mixed $value = null, string $boolean = 'and') Установить условие where для столбца таблицы мостика. | from BelongsToMany |
| $this | wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false) Установить условие "where in" для столбца таблицы мостика. | from BelongsToMany |
| $this | orWherePivot(string $column, string|null $operator = null, mixed $value = null) Установить условие "or where" для столбца таблицы мостика. | from BelongsToMany |
| $this | withPivotValue(string|array $column, mixed $value = null) Установить условие where для столбца таблицы мостика. | from BelongsToMany |
| $this | orWherePivotIn(string $column, mixed $values) Установить условие "or where in" для столбца таблицы мостика. | from BelongsToMany |
| $this | wherePivotNotIn(string $column, mixed $values, string $boolean = 'and') Установить условие "where not in" для столбца таблицы мостика. | from BelongsToMany |
| $this | orWherePivotNotIn(string $column, mixed $values) Установить условие "or where not in" для столбца таблицы мостика. | from BelongsToMany |
| Collection|Model | findOrNew(mixed $id, array $columns = ['*']) Найти связанную модель по её первичному ключу или вернуть новую модель. | from BelongsToMany |
| Model | firstOrNew(array $attributes) Получить первую связанную модель, соответствующую атрибутам, или создать её. | from 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(mixed $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()
Получить столбцы 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)
Разбить заданный запрос на страницы с помощью простого пагинатора. | from BelongsToMany |
| bool | chunk(int $count, callable $callback)
Разбить результаты запроса на куски. | from BelongsToMany |
| bool | chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски по сравниванию числовых идентификаторов. | from BelongsToMany |
| bool | each(callable $callback, int $count = 1000)
Выполнить обратный вызов для каждого элемента с разбиением на куски. | from BelongsToMany |
| LazyCollection | cursor()
Получить ленивую коллекцию для данного запроса. | from BelongsToMany |
| void | hydratePivotRelation(array $models)
Гидратировать отношение pivot-таблицы к моделям. | from BelongsToMany |
| array | migratePivotAttributes(Model $model)
Получить атрибуты pivot от модели. | from BelongsToMany |
| void | touchIfTouching()
Если нужно обновить родительскую модель, обновить. | from BelongsToMany |
| bool | touchingParent()
Определить, нужно ли обновлять родительскую модель при синхронизации. | from BelongsToMany |
| string | guessInverseRelation()
Попытка определить имя обратного отношения. | from BelongsToMany |
| Collection | allRelatedIds()
Получить все идентификаторы связанных моделей. | from BelongsToMany |
| Model | save(Model $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель и привязать её к родительской модели. | from BelongsToMany |
| array | saveMany(Collection|array $models, array $pivotAttributes = [])
Сохранить массив новых моделей и привязать их к родительской модели. | from 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()
Получить имя аксессора pivota для этого отношения. | из BelongsToMany |
| массив | getPivotColumns()
Получить столбцы pivot для этого отношения. | из BelongsToMany |
| строка | getMorphType()
Получить имя внешнего ключа «тип». | |
| строка | getMorphClass()
Получить имя класса родительской модели. | |
| логическое | getInverse()
Получить индикатор для обратного отношения. |
Подробности
protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)
Перенаправить вызов метода данному объекту.
static protected void throwBadMethodCallException(строка $method)
Выбросить исключение BadMethodCallException для данного метода.
static void macro(строка $name, объект|вызываемый $macro)
Зарегистрировать пользовательское макро.
static void mixin(объект $mixin, bool $replace = true)
Смешать другой объект в класс.
static логическое hasMacro(строка $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 $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 $key = null)
Получить все первичные ключи для массива моделей.
Билдер getQuery()
Получить базовый запрос для связи.
Билдер getBaseQuery()
Получить базовый билдер запросов, управляющий билдером Eloquent.
Модель getParent()
Получить родительскую модель связи.
строка getQualifiedParentKeyName()
Получить полное имя родительского ключа для связи.
Модель getRelated()
Получить связанную модель связи.
строка createdAt()
Получить имя столбца «создано в».
строка updatedAt()
Получить имя столбца «обновлено в».
строка relatedUpdatedAt()
Получить имя столбца «обновлено в» для связанной модели.
protected строка whereInMethod(Модель $model, строка $key)
Получить имя метода «где в» для ленивой загрузки.
static массив morphMap(массив $map = null, bool $merge = true)
Установить или получить карту морфинга для полиморфных связей.
static protected массив|null buildMorphMapFromModels(массив $models = null)
Создаёт таблично-индексированный массив из имён классов моделей.
static строка|null getMorphedModel(строка $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Вызвать клонирование базового билдера запроса при клонировании.
array toggle(mixed $ids, bool $touch = true)
Переключает модель (или модели) из родительского элемента.
Каждая существующая модель отсоединяется, а несуществующие — присоединяются.
array syncWithoutDetaching(Collection|Модель|array $ids)
Синхронизирует промежуточные таблицы со списком идентификаторов без отсоединения.
array sync(Collection|Модель|array $ids, bool $detaching = true)
Синхронизирует промежуточные таблицы со списком идентификаторов или коллекцией моделей.
protected array formatRecordsList(array $records)
Форматирует список записей синхронизации/переключения так, чтобы он индексировался по идентификатору.
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)
Получить новое выражение для связующей таблицы для данного ID "другого" объекта.
Builder newPivotQuery()
Создать новый билдер запроса для таблицы связей.
$this withPivot(array|mixed $columns)
Установить столбцы в таблице связей для извлечения.
protected array parseIds(mixed $value)
Получить все ID из заданного смешанного значения.
protected mixed parseId(mixed $value)
Получить ID из заданного смешанного значения.
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 для столбца таблицы pivot.
$this wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)
Установить условие "where in" для столбца таблицы pivot.
$this orWherePivot(string $column, string|null $operator = null, mixed $value = null)
Установить условие "or where" для столбца таблицы pivot.
$this withPivotValue(string|array $column, mixed $value = null)
Установить условие where для столбца таблицы pivot.
Кроме того, новые записи pivot получат это значение.
$this orWherePivotIn(string $column, mixed $values)
Установить условие "or where in" для столбца таблицы pivot.
$this wherePivotNotIn(string $column, mixed $values, string $boolean = 'and')
Установить условие "where not in" для столбца таблицы pivot.
$this orWherePivotNotIn(string $column, mixed $values)
Установить условие "or where not in" для столбца таблицы pivot.
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(mixed $ids, array $columns = ['*'])
Найти несколько связанных моделей по их первичным ключам.
Модель|Коллекция findOrFail(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или выбросить исключение.
Модель|СвязьMany-to-Many firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where к запросу и вернуть первый результат.
mixed first(array $columns = ['*'])
Выполнить запрос и получить первый результат.
Модель|СвязьMany-to-Many firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение.
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)
Гидратировать отношение к таблице связей для моделей.
protected array migratePivotAttributes(Model $model)
Получить атрибуты связи из модели.
void touchIfTouching()
Если мы касаемся родительской модели, то коснитесь.
protected bool touchingParent()
Определить, нужно ли касаться родителя при синхронизации.
protected string guessInverseRelation()
Попытка угадать имя обратного отношения.
Collection allRelatedIds()
Получить все идентификаторы связанных моделей.
Модель save(Модель $model, array $pivotAttributes = [], bool $touch = true)
Сохранить новую модель и привязать её к родительской модели.
array saveMany(Коллекция|array $models, array $pivotAttributes = [])
Сохранить массив новых моделей и привязать их к родительской модели.
Модель create(array $attributes = [], array $joining = [], bool $touch = true)
Создать новый экземпляр связанной модели.
array createMany(iterable $records, array $joinings = [])
Создать массив новых экземпляров связанных моделей.
Билдер getRelationExistenceQueryForSelfJoin(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса к отношениям на том же столе.
string getExistenceCompareKey()
Получить ключ для сравнения с ключом родительской модели в запросе "has".
string getRelationCountHash()
Получить хэш таблицы соединения отношений.
$this withTimestamps(mixed $createdAt = null, mixed $updatedAt = null)
Указать, что таблица соединения имеет метки времени создания и обновления.
string getForeignPivotKeyName()
Получить внешний ключ для связи.
string getQualifiedForeignPivotKeyName()
Получить полностью квалифицированный внешний ключ для связи.
string getRelatedPivotKeyName()
Получить «связанный ключ» для связи.
string getQualifiedRelatedPivotKeyName()
Получить полностью квалифицированный «связанный ключ» для связи.
string getParentKeyName()
Получить родительский ключ для связи.
string getRelatedKeyName()
Получить связанный ключ для связи.
string getTable()
Получить промежуточную таблицу для связи.
string getRelationName()
Получить имя связи для связи.
string getPivotAccessor()
Получить имя обработчика сводной таблицы для этой связи.
array getPivotColumns()
Получить столбцы сводной таблицы для этой связи.
string getMorphType()
Получить имя внешнего ключа «тип».
string getMorphClass()
Получить имя класса родительской модели.
bool getInverse()
Получить индикатор обратной связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/6.x/Illuminate/Database/Eloquent/Relations/MorphToMany.html