Spec-Zone.ru › Laravel 8

MorphToMany

класс MorphToMany расширяет BelongsToMany (Просмотреть исходный код)

Трейты

InteractsWithDictionary
InteractsWithPivotTable
ForwardsCalls
Macroable

Свойства

статический защищенный массив $macros

Зарегистрированные строковые макросы.

из Macroable
защищенный Builder $query

Экземпляр Eloquent-строителя запросов.

из Relation
защищенный Model $parent

Экземпляр родительской модели.

из Relation
защищенный Model $related

Экземпляр связанной модели.

из 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
защищенный массив $pivotColumns

Столбцы промежуточной таблицы для извлечения.

из BelongsToMany
защищенный массив $pivotWheres

Любые ограничения промежуточной таблицы для условий where.

из BelongsToMany
защищенный массив $pivotWhereIns

Любые ограничения промежуточной таблицы для условий whereIn.

из BelongsToMany
защищенный массив $pivotWhereNulls

Любые ограничения промежуточной таблицы для условий whereNull.

из BelongsToMany
защищенный массив $pivotValues

Значения по умолчанию для столбцов pivot.

из BelongsToMany
bool $withTimestamps

Указывает, доступны ли метки времени в промежуточной таблице.

из BelongsToMany
защищенный string $pivotCreatedAt

Пользовательский столбец промежуточной таблицы для отметки времени created_at.

из BelongsToMany
защищенный string $pivotUpdatedAt

Пользовательский столбец промежуточной таблицы для отметки времени updated_at.

из BelongsToMany
защищенный string $using

Имя класса пользовательской модели pivot, используемой для отношения.

из BelongsToMany
защищенный string $accessor

Имя аксессора для использования с отношением "pivot".

из BelongsToMany
защищенный string $morphType

Тип полиморфного отношения.

защищенный string $morphClass

Имя класса ограничения морф-типа.

защищенный bool $inverse

Указывает, подключаем ли мы обратное отношение.

Методы

mixed forwardCallTo(mixed $object, string $method, array $parameters)

Перенаправить вызов метода заданному объекту.

from ForwardsCalls
mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

Перенаправить вызов метода заданному объекту, возвращая $this, если перенаправленный вызов вернул себя.

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 void flushMacros()

Очистить существующие макросы.

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 morph.

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
Model sole(array|string $columns = ['*'])

Выполнить запрос и получить первый результат, если это единственная соответствующая запись.

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 = ['*'])

Добавить ограничения для запроса подсчета отношения.

string getRelationCountHash(bool $incrementJoinCount = true)

Получить хеш таблицы соединения отношения.

from Relation
array getKeys(array $models, string|null $key = null)

Получить все первичные ключи для массива моделей.

from Relation
Builder getRelationQuery()

Получить запрос билдера, который будет содержать ограничения отношения.

from Relation
Builder getQuery()

Получить базовый запрос для отношения.

from Relation
Builder getBaseQuery()

Получить базовый билдер запроса, управляющий билдером Eloquent.

from Relation
Модель getParent()

Получить родительскую модель отношения.

из Отношения
строка getQualifiedParentKeyName()

Получить полное квалифицированное имя родительского ключа для отношения.

из BelongsToMany
Модель getRelated()

Получить связанную модель отношения.

из Отношения
строка createdAt()

Получить имя столбца «создано в».

из BelongsToMany
строка updatedAt()

Получить имя столбца «обновлено в».

из BelongsToMany
строка relatedUpdatedAt()

Получить имя столбца «обновлено в» для связанной модели.

из Отношения
строка whereInMethod(Модель $model, string $key)

Получить имя метода «where in» для ленивой загрузки.

из Отношения
статический void requireMorphMap(bool $requireMorphMap = true)

Запретить использование полиморфных отношений без сопоставления моделей.

из Отношения
статический bool requiresMorphMap()

Определить, требуют ли полиморфные отношения явного сопоставления моделей.

из Отношения
статический массив enforceMorphMap(array $map, bool $merge = true)

Определить сопоставление морф для полиморфных отношений и потребовать, чтобы все модели с морф были явно сопоставлены.

из Отношения
статический массив morphMap(array $map = null, bool $merge = true)

Установить или получить сопоставление морф для полиморфных отношений.

из Отношения
статический массив|null buildMorphMapFromModels(array $models = null)

Строит таблично-ключевой массив из имен классов моделей.

из Отношения
статический строка|null getMorphedModel(string $alias)

Получить модель, связанную с настраиваемым полиморфным типом.

из Отношения
void __clone()

Принудительно клонировать базовый конструктор запроса при клонировании.

из Отношения
смешанное getDictionaryKey(смешанное $attribute)

Получить атрибут ключа словаря — при необходимости преобразовать его в строку.

из InteractsWithDictionary
массив toggle(смешанное $ids, bool $touch = true)

Включает/выключает модель (или модели) из родительской.

из InteractsWithPivotTable
массив syncWithoutDetaching(Коллекция|Модель|массив $ids)

Синхронизирует промежуточные таблицы со списком идентификаторов без отсоединения.

из InteractsWithPivotTable
массив sync(Коллекция|Модель|массив $ids, bool $detaching = true)

Синхронизирует промежуточные таблицы со списком идентификаторов или коллекцией моделей.

из InteractsWithPivotTable
массив syncWithPivotValues(Коллекция|Модель|массив $ids, массив $values, bool $detaching = true)

Синхронизирует промежуточные таблицы со списком идентификаторов или коллекцией моделей с заданными значениями полей связи.

из InteractsWithPivotTable
массив formatRecordsList(массив $records)

Форматирует список записей синхронизации/переключения, чтобы он был индексирован по идентификатору.

из InteractsWithPivotTable
массив attachNew(массив $records, массив $current, bool $touch = true)

Присоединяет все записи, которых нет в заданных текущих записях.

из InteractsWithPivotTable
целое число updateExistingPivot(смешанное $id, массив $attributes, bool $touch = true)

Обновить существующую запись связи в таблице.

из InteractsWithPivotTable
целое число updateExistingPivotUsingCustomClass(смешанное $id, массив $attributes, bool $touch)

Обновить существующую запись связи в таблице с помощью пользовательского класса.

из InteractsWithPivotTable
void attach(смешанное $id, массив $attributes = [], bool $touch = true)

Присоединить модель к родителю.

из InteractsWithPivotTable
void attachUsingCustomClass(смешанное $id, массив $attributes)

Присоединить модель к родителю с помощью пользовательского класса.

из InteractsWithPivotTable
массив formatAttachRecords(массив $ids, массив $attributes)

Создать массив записей для вставки в таблицу связи.

из InteractsWithPivotTable
array formatAttachRecord(int $key, mixed $value, array $attributes, bool $hasTimestamps)

Создать полную запись о прикреплении.

из InteractsWithPivotTable
array extractAttachIdAndAttributes(mixed $key, mixed $value, array $attributes)

Получить ID записи о прикреплении и дополнительные атрибуты.

из 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)

Получить новое выражение связи для заданного 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)

Установить предложение JOIN для запроса отношения.

из 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)

Установите условие "между" для столбца таблицы связи.

из BelongsToMany
$this orWherePivotBetween(string $column, array $values)

Установите условие "или между" для столбца таблицы связи.

из BelongsToMany
$this wherePivotNotBetween(string $column, array $values, string $boolean = 'and')

Установите условие "не между" для столбца таблицы связи.

из BelongsToMany
$this orWherePivotNotBetween(string $column, array $values)

Установите условие "или не между" для столбца таблицы связи.

из BelongsToMany
$this wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)

Установите условие "в" для столбца таблицы связи.

из BelongsToMany
$this orWherePivot(string $column, mixed $operator = null, mixed $value = null)

Установите условие "или" для столбца таблицы связи.

из BelongsToMany
$this withPivotValue(string|array $column, mixed $value = null)

Установите условие для столбца таблицы связи.

из BelongsToMany
$this orWherePivotIn(string $column, mixed $values)

Установите условие "или в" для столбца таблицы связи.

из BelongsToMany
$this wherePivotNotIn(string $column, mixed $values, string $boolean = 'and')

Установите условие "не в" для столбца таблицы связи.

из BelongsToMany
$this orWherePivotNotIn(string $column, mixed $values)

Установите условие "или не в" для столбца таблицы связи.

из BelongsToMany
$this wherePivotNull(string $column, string $boolean = 'and', bool $not = false)

Установите условие "равно 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
$this orderByPivot(string $column, string $direction = 'asc')

Добавьте условие "сортировка по" для столбца таблицы связи.

из 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
Модель|Связь_многие_ко_многим|смешанный тип firstOr(Closure|массив $columns = ['*'], Closure $callback = null)

Выполнить запрос и получить первый результат или вызвать обратный вызов.

из Связь_многие_ко_многим
массив shouldSelect(массив $columns = ['*'])

Получить столбцы для выбора в запросе отношения.

из Связь_многие_ко_многим
массив aliasedPivotColumns()

Получить столбцы оси для отношения.

Paginator_с_определённой_длиной paginate(целое число|null $perPage = null, массив $columns = ['*'], строка $pageName = 'page', целое число|null $page = null)

Получить разбиение на страницы для оператора «select».

из Связь_многие_ко_многим
Paginator simplePaginate(целое число|null $perPage = null, массив $columns = ['*'], строка $pageName = 'page', целое число|null $page = null)

Разбить на страницы заданный запрос с помощью простого разбиения на страницы.

из Связь_многие_ко_многим
CursorPaginator cursorPaginate(целое число|null $perPage = null, массив $columns = ['*'], строка $cursorName = 'cursor', строка|null $cursor = null)

Разбить на страницы заданный запрос с помощью разбиения на страницы с курсором.

из Связь_многие_ко_многим
булево chunk(целое число $count, обратный_вызов $callback)

Разбить результаты запроса на блоки.

из Связь_многие_ко_многим
булево chunkById(целое число $count, обратный_вызов $callback, строка|null $column = null, строка|null $alias = null)

Разбить результаты запроса на блоки по сравнениям числовых идентификаторов.

из Связь_многие_ко_многим
булево each(обратный_вызов $callback, целое число $count = 1000)

Выполнить обратный вызов для каждого элемента с помощью разбиения на блоки.

из Связь_многие_ко_многим
LazyCollection lazy(целое число $chunkSize = 1000)

Выполнить запрос лениво, по блокам заданного размера.

из Связь_многие_ко_многим
LazyCollection lazyById(целое число $chunkSize = 1000, строка|null $column = null, строка|null $alias = null)

Выполнить запрос лениво, разбивая результаты запроса на блоки по сравнениям идентификаторов.

из Связь_многие_ко_многим
LazyCollection cursor()

Получить ленивую коллекцию для данного запроса.

из Связь_многие_ко_многим
Builder prepareQueryBuilder()

Подготовить генератор запросов для выполнения запроса.

из Связь_многие_ко_многим
void hydratePivotRelation(массив $models)

Гидратировать отношение таблицы оси для моделей.

из Связь_многие_ко_многим
массив migratePivotAttributes(Модель $model)

Получить атрибуты оси из модели.

из Связь_многие_ко_многим
void touchIfTouching()

Если мы касаемся родительской модели, коснуться.

из Связь_многие_ко_многим
булево touchingParent()

Определить, нужно ли касаться родительской модели при синхронизации.

из Связь_многие_ко_многим
строка guessInverseRelation()

Попытка угадать имя обратного отношения.

из Связь_многие_ко_многим
Collection allRelatedIds()

Получить все идентификаторы связанных моделей.

из Связь_многие_ко_многим
Модель save(Модель $model, массив $pivotAttributes = [], булево $touch = true)

Сохранить новую модель и прикрепить её к родительской модели.

из Связь_многие_ко_многим
массив saveMany(Collection|массив $models, массив $pivotAttributes = [])

Сохранить массив новых моделей и прикрепить их к родительской модели.

из Связь_многие_ко_многим
Модель create(массив $attributes = [], массив $joining = [], булево $touch = true)

Создать новый экземпляр связанной модели.

из Связь_многие_ко_многим
массив createMany(итерируемый $records, массив $joinings = [])

Создать массив новых экземпляров связанных моделей.

из Связь_многие_ко_многим
Builder getRelationExistenceQueryForSelfJoin(Builder $query, Builder $parentQuery, массив|смешанный тип $columns = ['*'])

Добавить ограничения для запроса отношения к одной и той же таблице.

из Связь_многие_ко_многим
строка getExistenceCompareKey()

Получить ключ для сравнения с ключом родительской модели в запросе «имеет».

из Связь_многие_ко_многим
$this с отметками о времени создания и изменения(mixed $createdAt = null, mixed $updatedAt = null)

Указывает, что сводная таблица имеет отметки о времени создания и изменения.

из BelongsToMany
строка получитьВнешнийКлючСвязи()

Получить внешний ключ для связи.

из BelongsToMany
строка получитьПолныйВнешнийКлючСвязи()

Получить полностью квалифицированный внешний ключ для связи.

из BelongsToMany
строка получитьКлючСвязанногоЭлемента()

Получить "связанный ключ" для связи.

из BelongsToMany
строка получитьПолныйКлючСвязанногоЭлемента()

Получить полностью квалифицированное имя "связанного ключа" для связи.

из BelongsToMany
строка получитьКлючРодителя()

Получить родительский ключ для отношения.

из BelongsToMany
строка получитьКлючСвязанногоЭлемента()

Получить связанный ключ для отношения.

из BelongsToMany
строка получитьПолноеИмяСвязанногоКлюча()

Получить полностью квалифицированное имя связанного ключа для отношения.

из BelongsToMany
строка получитьТаблица()

Получить промежуточную таблицу для отношения.

из BelongsToMany
строка получитьИмяОтношения()

Получить имя отношения для отношения.

из BelongsToMany
строка получитьДоступ к свёртке()

Получить имя аксессора свёртки для этого отношения.

из BelongsToMany
массив получитьСтолбцыСвёрток()

Получить столбцы свёртки для этого отношения.

из BelongsToMany
строка квалифицироватьСтолбецСвёрток(строка $column)

Квалифицировать заданное имя столбца по промежуточной таблице.

из BelongsToMany
строка получитьТипВнешнегоКлюча()

Получить имя внешнего ключа "тип".

строка получитьКлассРодительскойМодели()

Получить имя класса родительской модели.

логическое получитьОбратноеОтношение()

Получить индикатор обратного отношения.

Подробности

protected mixed передатьВызовОбъекту(mixed $object, string $method, array $parameters)

Передать вызов метода заданному объекту.

Параметры

mixed $object
строка $method
массив $parameters

Возвращаемое значение

mixed

Исключения

BadMethodCallException

protected mixed передатьВызовДекорированномуОбъекту(mixed $object, string $method, array $parameters)

Передать вызов метода заданному объекту, возвращая $this, если переданный вызов вернул себя.

Параметры

mixed $object
строка $method
массив $parameters

Возвращаемое значение

mixed

Исключения

BadMethodCallException

static protected void броситьИсключениеBadMethodCall(строка $method)

Выбросить исключение BadMethodCall для заданного метода.

Параметры

строка $method

Возвращаемое значение

void

Исключения

BadMethodCallException

static void макрос(строка $name, object|callable $macro)

Зарегистрировать пользовательский макрос.

Параметры

строка $name
object|callable $macro

Возвращаемое значение

void

static void смешать(object $mixin, bool $replace = true)

Смешать другой объект в класс.

Параметры

object $mixin
bool $replace

Возвращаемое значение

void

Исключения

ReflectionException

static bool имеетМакрос(строка $name)

Проверяет, зарегистрирован ли макрос.

Параметры

строка $name

Возвращаемое значение

bool

static void очиститьМакросы()

Очистить существующие макросы.

Возвращаемое значение

void

static mixed __callStatic(строка $method, массив $parameters)

Динамически обрабатывать вызовы класса.

Параметры

строка $method
массив $parameters

Возвращаемое значение

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

Динамически обрабатывает вызовы к классу.

Параметры

string $method
array $parameters

Возвращаемое значение

mixed

Исключения

BadMethodCallException

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 с морфизмом.

Параметры

Builder $query
Model $parent
string $name
string $table
string $foreignPivotKey
string $relatedPivotKey
string $parentKey
string $relatedKey
string|null $relationName
bool $inverse

Возвращаемое значение

void

static mixed noConstraints(Closure $callback)

Выполняет коллбэк с отключёнными ограничениями для связи.

Параметры

Closure $callback

Возвращаемое значение

mixed

void addConstraints()

Устанавливает базовые ограничения для запроса связи.

Возвращаемое значение

void

void addEagerConstraints(array $models)

Устанавливает ограничения для ленивой загрузки связи.

Параметры

array $models

Возвращаемое значение

void

array initRelation(array $models, string $relation)

Инициализирует связь для набора моделей.

Параметры

array $models
string $relation

Возвращаемое значение

array

array match(array $models, Collection $results, string $relation)

Сопоставляет загруженные с помощью eager loading результаты с их родителями.

Параметры

array $models
Collection $results
string $relation

Возвращаемое значение

array

mixed getResults()

Получает результаты связи.

Возвращаемое значение

mixed

Collection getEager()

Получает связь для ленивой загрузки.

Возвращаемое значение

Collection

Model sole(array|string $columns = ['*'])

Выполняет запрос и возвращает первый результат, если это единственная соответствующая запись.

Параметры

array|string $columns

Возвращаемое значение

Model

Исключения

ModelNotFoundException
MultipleRecordsFoundException

Collection get(array $columns = ['*'])

Выполняет запрос в качестве оператора «select».

Параметры

array $columns

Возвращаемое значение

Collection

void touch()

Обновляет все связанные модели для связи.

Например: Обновляет все роли, связанные с этим пользователем.

Возвращаемое значение

void

int rawUpdate(array $attributes = [])

Выполняет прямое обновление по основному запросу.

Параметры

array $attributes

Возвращаемое значение

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

Добавляет ограничения для запроса подсчёта существования связи.

Параметры

Builder $query
Builder $parentQuery

Возвращаемое значение

Builder

Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавляет ограничения для запроса подсчёта существования связи.

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

Возвращаемое значение

Builder

string getRelationCountHash(bool $incrementJoinCount = true)

Получает хеш таблицы соединения для связи.

Параметры

bool $incrementJoinCount

Возвращаемое значение

string

protected array getKeys(array $models, string|null $key = null)

Получить все первичные ключи для массива моделей.

Параметры

массив $models
строка|null $key

Возвращаемое значение

массив

protected Builder getRelationQuery()

Получить конструктор запроса, который будет содержать ограничения взаимосвязи.

Возвращаемое значение

Builder

Builder getQuery()

Получить базовый запрос для взаимосвязи.

Возвращаемое значение

Builder

Builder getBaseQuery()

Получить базовый конструктор запроса, управляющий конструктором Eloquent.

Возвращаемое значение

Builder

Модель getParent()

Получить родительскую модель взаимосвязи.

Возвращаемое значение

Модель

строка getQualifiedParentKeyName()

Получить полное квалифицированное имя родительского ключа для взаимосвязи.

Возвращаемое значение

строка

Модель getRelated()

Получить связанную модель взаимосвязи.

Возвращаемое значение

Модель

строка createdAt()

Получить имя столбца "created at".

Возвращаемое значение

строка

строка updatedAt()

Получить имя столбца "updated at".

Возвращаемое значение

строка

строка relatedUpdatedAt()

Получить имя столбца "updated at" связанной модели.

Возвращаемое значение

строка

protected строка whereInMethod(Модель $model, string $key)

Получить имя метода "where in" для леничной загрузки.

Параметры

Модель $model
строка $key

Возвращаемое значение

строка

static void requireMorphMap(bool $requireMorphMap = true)

Запретить использование полиморфных взаимосвязей без сопоставлений моделей.

Параметры

bool $requireMorphMap

Возвращаемое значение

void

static bool requiresMorphMap()

Определить, требуют ли полиморфные взаимосвязи явного сопоставления моделей.

Возвращаемое значение

bool

static массив enforceMorphMap(array $map, bool $merge = true)

Определить карту морфирования для полиморфных взаимосвязей и потребовать, чтобы все модели, преобразованные в другие, были явно отображены.

Параметры

массив $map
bool $merge

Возвращаемое значение

массив

static массив morphMap(array $map = null, bool $merge = true)

Установить или получить карту морфирования для полиморфных взаимосвязей.

Параметры

массив $map
bool $merge

Возвращаемое значение

массив

static protected массив|null buildMorphMapFromModels(array $models = null)

Создает таблично-ключевой массив из имен классов моделей.

Параметры

массив $models

Возвращаемое значение

массив|null

static строка|null getMorphedModel(string $alias)

Получить модель, связанную с пользовательским полиморфным типом.

Параметры

строка $alias

Возвращаемое значение

строка|null

void __clone()

Принудительно клонировать базовый конструктор запроса при клонировании.

Возвращаемое значение

void

protected смешанное getDictionaryKey(смешанное $attribute)

Получить атрибут ключа словаря, при необходимости преобразовав его в строку.

Параметры

смешанное $attribute

Возвращаемое значение

смешанное

Исключения

InvalidArgumentException

массив toggle(смешанное $ids, bool $touch = true)

Переключает модель (или модели) из родителя.

Каждая существующая модель отделяется, а несуществующая присоединяется.

Параметры

смешанное $ids
bool $touch

Возвращаемое значение

массив

массив syncWithoutDetaching(Collection|Модель|массив $ids)

Синхронизирует промежуточные таблицы со списком идентификаторов без отделения.

Параметры

Collection|Модель|массив $ids

Возвращаемое значение

массив

array sync(Collection|Model|array $ids, bool $detaching = true)

Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей.

Параметры

Collection|Model|array $ids
bool $detaching

Значение результата

array

array syncWithPivotValues(Collection|Model|array $ids, array $values, bool $detaching = true)

Синхронизировать промежуточные таблицы со списком идентификаторов или коллекцией моделей с заданными значениями связей.

Параметры

Collection|Model|array $ids
array $values
bool $detaching

Значение результата

array

protected array formatRecordsList(array $records)

Форматировать список записей синхронизации/переключения так, чтобы он индексировался по ID.

Параметры

array $records

Значение результата

array

protected array attachNew(array $records, array $current, bool $touch = true)

Присоединить все записи, которые не находятся в заданных текущих записях.

Параметры

array $records
array $current
bool $touch

Значение результата

array

int updateExistingPivot(mixed $id, array $attributes, bool $touch = true)

Обновить существующую запись связей в таблице.

Параметры

mixed $id
array $attributes
bool $touch

Значение результата

int

protected int updateExistingPivotUsingCustomClass(mixed $id, array $attributes, bool $touch)

Обновить существующую запись связей в таблице через пользовательский класс.

Параметры

mixed $id
array $attributes
bool $touch

Значение результата

int

void attach(mixed $id, array $attributes = [], bool $touch = true)

Присоединить модель к родителю.

Параметры

mixed $id
array $attributes
bool $touch

Значение результата

void

protected void attachUsingCustomClass(mixed $id, array $attributes)

Присоединить модель к родителю с помощью пользовательского класса.

Параметры

mixed $id
array $attributes

Значение результата

void

protected array formatAttachRecords(array $ids, array $attributes)

Создать массив записей для вставки в таблицу связей.

Параметры

array $ids
array $attributes

Значение результата

array

protected array formatAttachRecord(int $key, mixed $value, array $attributes, bool $hasTimestamps)

Создать полную нагрузку записи присоединения.

Параметры

int $key
mixed $value
array $attributes
bool $hasTimestamps

Значение результата

array

protected array extractAttachIdAndAttributes(mixed $key, mixed $value, array $attributes)

Получить идентификатор записи присоединения и дополнительные атрибуты.

Параметры

mixed $key
mixed $value
array $attributes

Значение результата

array

protected array baseAttachRecord(int $id, bool $timed)

Создать новую запись присоединения связей.

Параметры

int $id
bool $timed

Значение результата

array

protected array addTimestampsToAttachment(array $record, bool $exists = false)

Установить метки времени создания и обновления в записи присоединения.

Параметры

array $record
bool $exists

Значение результата

array

bool hasPivotColumn(string $column)

Определить, является ли заданный столбец столбцом связей.

Параметры

string $column

Значение результата

bool

int detach(mixed $ids = null, bool $touch = true)

Отсоединить модели от взаимосвязи.

Параметры

mixed $ids
bool $touch

Значение результата

int

protected int detachUsingCustomClass(mixed $ids)

Отсоединить модели от взаимосвязи с помощью пользовательского класса.

Параметры

mixed $ids

Значение результата

int

protected Collection getCurrentlyAttachedPivots()

Получить модели связей, которые в данный момент присоединены.

Значение результата

Collection

Pivot newPivot(array $attributes = [], bool $exists = false)

Создать новый экземпляр модели связей.

Параметры

array $attributes
bool $exists

Значение результата

Pivot

Связь newExistingPivot(array $attributes = [])

Создать новый экземпляр существующей модели связи.

Параметры

array $attributes

Возвращаемое значение

Связь

Билдер newPivotStatement()

Получить новый обычный билдер запроса для таблицы связи.

Возвращаемое значение

Билдер

Билдер newPivotStatementForId(mixed $id)

Получить новый запрос для связи по заданному ID.

Параметры

mixed $id

Возвращаемое значение

Билдер

Билдер newPivotQuery()

Создать новый билдер запроса для таблицы связи.

Возвращаемое значение

Билдер

$this withPivot(array|mixed $columns)

Установить столбцы для получения из таблицы связи.

Параметры

array|mixed $columns

Возвращаемое значение

$this

protected array parseIds(mixed $value)

Получить все ID из заданного значения.

Параметры

mixed $value

Возвращаемое значение

array

protected mixed parseId(mixed $value)

Получить ID из заданного значения.

Параметры

mixed $value

Возвращаемое значение

mixed

protected array castKeys(array $keys)

Преобразовать ключи к целочисленному типу, если они числовые, и к строковому в противном случае.

Параметры

array $keys

Возвращаемое значение

array

protected mixed castKey(mixed $key)

Преобразовать ключ к типу первичного ключа.

Параметры

mixed $key

Возвращаемое значение

mixed

protected array castAttributes(array $attributes)

Преобразовать заданные атрибуты связи.

Параметры

array $attributes

Возвращаемое значение

array

protected mixed getTypeSwapValue(string $type, mixed $value)

Преобразовать значение к указанному типу.

Параметры

string $type
mixed $value

Возвращаемое значение

mixed

protected string resolveTableName(string $table)

Попытаться разрешить имя промежуточной таблицы из заданной строки.

Параметры

string $table

Возвращаемое значение

string

protected $this performJoin(Билдер|null $query = null)

Установить условие объединения для запроса связи.

Параметры

Билдер|null $query

Возвращаемое значение

$this

protected $this addWhereConstraints()

Установить условие where для запроса связи.

Возвращаемое значение

$this

protected array buildDictionary(Коллекция $results)

Сформировать словарь моделей, индексированный по внешнему ключу связи.

Параметры

Коллекция $results

Возвращаемое значение

array

string getPivotClass()

Получить используемый класс для моделей связи.

Возвращаемое значение

string

$this using(string $class)

Указать используемую модель для связи.

Параметры

string $class

Возвращаемое значение

$this

$this as(string $accessor)

Указать используемый аксессор для связи.

Параметры

string $accessor

Возвращаемое значение

$this

$this wherePivot(string $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')

Установить условие where для столбца таблицы связи.

Параметры

string $column
mixed $operator
mixed $value
string $boolean

Возвращаемое значение

$this

$this wherePivotBetween(string $column, array $values, string $boolean = 'and', bool $not = false)

Установить условие "where between" для столбца таблицы связи.

Параметры

string $column
array $values
string $boolean
bool $not

Возвращаемое значение

$this

$this orWherePivotBetween(string $column, array $values)

Установить условие "or where between" для столбца таблицы связи.

Параметры

string $column
array $values

Возвращаемое значение

$this
END_OF_DOCUMENT_MARKER

$this wherePivotNotBetween(string $column, array $values, string $boolean = 'and')

Установите условие "where pivot not between" для столбца таблицы связей.

Parameters

string $column
array $values
string $boolean

Return Value

$this

$this orWherePivotNotBetween(string $column, array $values)

Установите условие "or where not between" для столбца таблицы связей.

Parameters

string $column
array $values

Return Value

$this

$this wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)

Установите условие "where in" для столбца таблицы связей.

Parameters

string $column
mixed $values
string $boolean
bool $not

Return Value

$this

$this orWherePivot(string $column, mixed $operator = null, mixed $value = null)

Установите условие "or where" для столбца таблицы связей.

Parameters

string $column
mixed $operator
mixed $value

Return Value

$this

$this withPivotValue(string|array $column, mixed $value = null)

Установите условие для столбца таблицы связей.

Кроме того, новые записи связей получат это значение.

Parameters

string|array $column
mixed $value

Return Value

$this

Exceptions

InvalidArgumentException

$this orWherePivotIn(string $column, mixed $values)

Установите условие "or where in" для столбца таблицы связей.

Parameters

string $column
mixed $values

Return Value

$this

$this wherePivotNotIn(string $column, mixed $values, string $boolean = 'and')

Установите условие "where not in" для столбца таблицы связей.

Parameters

string $column
mixed $values
string $boolean

Return Value

$this

$this orWherePivotNotIn(string $column, mixed $values)

Установите условие "or where not in" для столбца таблицы связей.

Parameters

string $column
mixed $values

Return Value

$this

$this wherePivotNull(string $column, string $boolean = 'and', bool $not = false)

Установите условие "where null" для столбца таблицы связей.

Parameters

string $column
string $boolean
bool $not

Return Value

$this

$this wherePivotNotNull(string $column, string $boolean = 'and')

Установите условие "where not null" для столбца таблицы связей.

Parameters

string $column
string $boolean

Return Value

$this

$this orWherePivotNull(string $column, bool $not = false)

Установите условие "or where null" для столбца таблицы связей.

Parameters

string $column
bool $not

Return Value

$this

$this orWherePivotNotNull(string $column)

Установите условие "or where not null" для столбца таблицы связей.

Parameters

string $column

Return Value

$this

$this orderByPivot(string $column, string $direction = 'asc')

Добавьте условие "order by" для столбца таблицы связей.

Parameters

string $column
string $direction

Return Value

$this

Collection|Модель findOrNew(mixed $id, array $columns = ['*'])

Найдите связанную модель по ее первичному ключу или верните новый экземпляр связанной модели.

Parameters

mixed $id
array $columns

Return Value

Collection|Модель

Модель firstOrNew(array $attributes)

Получите первую связанную запись модели, соответствующую атрибутам, или создайте ее.

Parameters

array $attributes

Return Value

Модель

Модель firstOrCreate(array $attributes, array $joining = [], bool $touch = true)

Получите первую связанную запись, соответствующую атрибутам, или создайте ее.

Parameters

array $attributes
array $joining
bool $touch

Return Value

Модель

Модель updateOrCreate(array $attributes, array $values = [], array $joining = [], bool $touch = true)

Создайте или обновите связанную запись, соответствующую атрибутам, и заполните ее значениями.

Parameters

array $attributes
array $values
array $joining
bool $touch

Return Value

Модель

Модель|Коллекция|null find(mixed $id, array $columns = ['*'])

Найти связанную модель по ее первичному ключу.

Параметры

mixed $id
array $columns

Возвращаемое значение

Модель|Коллекция|null

Коллекция findMany(Массив|array $ids, array $columns = ['*'])

Найти несколько связанных моделей по их первичным ключам.

Параметры

Массив|array $ids
array $columns

Возвращаемое значение

Коллекция

Модель|Коллекция findOrFail(mixed $id, array $columns = ['*'])

Найти связанную модель по ее первичному ключу или выбросить исключение.

Параметры

mixed $id
array $columns

Возвращаемое значение

Модель|Коллекция

Исключения

ИсключениеНеНайденаМодель

Модель|СвязьМножествоМножеству firstWhere(Замыкание|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')

Добавить простое условие where в запрос и вернуть первый результат.

Параметры

Замыкание|string|array $column
mixed $operator
mixed $value
string $boolean

Возвращаемое значение

Модель|СвязьМножествоМножеству

mixed first(array $columns = ['*'])

Выполнить запрос и получить первый результат.

Параметры

array $columns

Возвращаемое значение

mixed

Модель|СвязьМножествоМножеству firstOrFail(array $columns = ['*'])

Выполнить запрос и получить первый результат или выбросить исключение.

Параметры

array $columns

Возвращаемое значение

Модель|СвязьМножествоМножеству

Исключения

ИсключениеНеНайденаМодель

Модель|СвязьМножествоМножеству|mixed firstOr(Замыкание|array $columns = ['*'], Замыкание $callback = null)

Выполнить запрос и получить первый результат или вызвать обратный вызов.

Параметры

Замыкание|array $columns
Замыкание $callback

Возвращаемое значение

Модель|СвязьМножествоМножеству|mixed

protected array shouldSelect(array $columns = ['*'])

Получить столбцы для выбора в запросе отношения.

Параметры

array $columns

Возвращаемое значение

array

protected array aliasedPivotColumns()

Получить столбцы поворота для отношения.

"pivot_" добавляется перед каждым столбцом для простоты удаления позже.

Возвращаемое значение

array

СтраничныйОбъект paginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Получить страничный объект для запроса "select".

Параметры

int|null $perPage
array $columns
string $pageName
int|null $page

Возвращаемое значение

СтраничныйОбъект

СтраничныйОбъект simplePaginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Разбить запрос на страницы с помощью простого страничного объекта.

Параметры

int|null $perPage
array $columns
string $pageName
int|null $page

Возвращаемое значение

СтраничныйОбъект

СтраничныйОбъектСКурсором cursorPaginate(int|null $perPage = null, array $columns = ['*'], string $cursorName = 'cursor', string|null $cursor = null)

Разбить запрос на страницы с помощью страничного объекта с курсором.

Параметры

int|null $perPage
array $columns
string $cursorName
string|null $cursor

Возвращаемое значение

СтраничныйОбъектСКурсором

bool chunk(int $count, callable $callback)

Разбить результаты запроса на куски.

Параметры

int $count
callable $callback

Возвращаемое значение

bool

bool chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)

Разбить результаты запроса по сравнением числовых идентификаторов.

Параметры

int $count
callable $callback
string|null $column
string|null $alias

Возвращаемое значение

bool

bool each(callable $callback, int $count = 1000)

Выполнить обратный вызов над каждым элементом при разбиении на куски.

Параметры

callable $callback
int $count

Возвращаемое значение

bool

LazyCollection lazy(int $chunkSize = 1000)

Запрос в режиме ленивой загрузки по кускам заданного размера.

Параметры

int $chunkSize

Возвращаемое значение

LazyCollection

LazyCollection lazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)

Ленивая загрузка запроса, разбивая результаты запроса по сравнению идентификаторов.

Параметры

int $chunkSize
string|null $column
string|null $alias

Возвращаемое значение

LazyCollection

LazyCollection cursor()

Получить ленивую коллекцию для заданного запроса.

Возвращаемое значение

LazyCollection

protected Builder prepareQueryBuilder()

Подготовить билдер запроса для выполнения запроса.

Возвращаемое значение

Builder

protected void hydratePivotRelation(array $models)

Гидратировать отношение к таблице связей для моделей.

Параметры

array $models

Возвращаемое значение

void

protected array migratePivotAttributes(Model $model)

Получить атрибуты связи из модели.

Параметры

Model $model

Возвращаемое значение

array

void touchIfTouching()

Если мы касаемся родительской модели, коснитесь ее.

Возвращаемое значение

void

protected bool touchingParent()

Определить, нужно ли касаться родительской модели при синхронизации.

Возвращаемое значение

bool

protected string guessInverseRelation()

Попытка угадать имя обратного отношения.

Возвращаемое значение

string

Collection allRelatedIds()

Получить все идентификаторы связанных моделей.

Возвращаемое значение

Collection

Model save(Model $model, array $pivotAttributes = [], bool $touch = true)

Сохранить новую модель и прикрепить ее к родительской модели.

Параметры

Model $model
array $pivotAttributes
bool $touch

Возвращаемое значение

Model

array saveMany(Collection|array $models, array $pivotAttributes = [])

Сохранить массив новых моделей и прикрепить их к родительской модели.

Параметры

Collection|array $models
array $pivotAttributes

Возвращаемое значение

array

Model create(array $attributes = [], array $joining = [], bool $touch = true)

Создать новый экземпляр связанной модели.

Параметры

array $attributes
array $joining
bool $touch

Возвращаемое значение

Model

array createMany(iterable $records, array $joinings = [])

Создать массив новых экземпляров связанных моделей.

Параметры

iterable $records
array $joinings

Возвращаемое значение

array

Builder getRelationExistenceQueryForSelfJoin(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для запроса к отношениям в одной и той же таблице.

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

Возвращаемое значение

Builder

string getExistenceCompareKey()

Получить ключ для сравнения с родительским ключом в запросе "has".

Возвращаемое значение

string
END_OF_DOCUMENT_MARKER

$this withTimestamps(mixed $createdAt = null, mixed $updatedAt = null)

Укажите, что в таблице связей есть метки создания и обновления.

Параметры

mixed $createdAt
mixed $updatedAt

Возвращаемое значение

$this

string getForeignPivotKeyName()

Получить внешний ключ для связи.

Возвращаемое значение

string

string getQualifiedForeignPivotKeyName()

Получить полностью квалифицированный внешний ключ для связи.

Возвращаемое значение

string

string getRelatedPivotKeyName()

Получить «связанный ключ» для связи.

Возвращаемое значение

string

string getQualifiedRelatedPivotKeyName()

Получить полностью квалифицированное имя «связанного ключа» для связи.

Возвращаемое значение

string

string getParentKeyName()

Получить родительский ключ для связи.

Возвращаемое значение

string

string getRelatedKeyName()

Получить связанный ключ для связи.

Возвращаемое значение

string

string getQualifiedRelatedKeyName()

Получить полное квалифицированное имя связанного ключа для связи.

Возвращаемое значение

string

string getTable()

Получить промежуточную таблицу для связи.

Возвращаемое значение

string

string getRelationName()

Получить имя связи для связи.

Возвращаемое значение

string

string getPivotAccessor()

Получить имя аксессора для этой связи.

Возвращаемое значение

string

array getPivotColumns()

Получить столбцы связей для этой связи.

Возвращаемое значение

array

string qualifyPivotColumn(string $column)

Квалифицировать данное имя столбца по таблице связей.

Параметры

string $column

Возвращаемое значение

string

string getMorphType()

Получить имя внешнего ключа «тип».

Возвращаемое значение

string

string getMorphClass()

Получить имя класса родительской модели.

Возвращаемое значение

string

bool getInverse()

Получить индикатор обратной связи.

Возвращаемое значение

bool

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Relations/MorphToMany.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API