Spec-Zone.ru › Laravel 8

BelongsToMany

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

Трейты

InteractsWithDictionary
InteractsWithPivotTable
ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

из Relation
статический защищенный булево значение $constraints

Указывает, добавляет ли отношение ограничения.

из Relation
статический массив $morphMap

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

из Relation
статический защищенный булево значение $requireMorphMap

Препятствует морф-связям без морф-карты.

из Relation
статический защищенный целое число $selfJoinCount

Количество самосвязей.

из Relation
защищенная строка $table

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

защищенная строка $foreignPivotKey

Внешний ключ родительской модели.

защищенная строка $relatedPivotKey

Связанный ключ отношения.

защищенная строка $parentKey

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

защищенная строка $relatedKey

Имя ключа связанной модели.

защищенная строка $relationName

«Имя» отношения.

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

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

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

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

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

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

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

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

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

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

булево значение $withTimestamps

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

защищенная строка $pivotCreatedAt

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

защищенная строка $pivotUpdatedAt

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

защищенная строка $using

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

защищенная строка $accessor

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

Методы

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 $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string|null $relationName = null)

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

static mixed noConstraints(Closure $callback)

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

from Relation
void addConstraints()

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

void addEagerConstraints(array $models)

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

array initRelation(array $models, string $relation)

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

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

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

mixed getResults()

Получить результаты отношения.

Collection getEager()

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

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

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

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

Выполнить запрос как оператор «выбор».

void touch()

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

int rawUpdate(array $attributes = [])

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

from Relation
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

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
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

Model getRelated()

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

from Relation
string createdAt()

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

string updatedAt()

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

string relatedUpdatedAt()

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

из 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 $map = null, bool $merge = true)

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

из Relation
static array|null buildMorphMapFromModels(array $models = null)

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

из Relation
static string|null getMorphedModel(string $alias)

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

из Relation
void __clone()

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

из Relation
mixed getDictionaryKey(mixed $attribute)

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

из InteractsWithDictionary
array toggle(mixed $ids, bool $touch = true)

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

из InteractsWithPivotTable
array syncWithoutDetaching(Collection|Model|array $ids)

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

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

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

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

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

из InteractsWithPivotTable
array formatRecordsList(array $records)

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

из InteractsWithPivotTable
array attachNew(array $records, array $current, bool $touch = true)

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

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

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

из InteractsWithPivotTable
int updateExistingPivotUsingCustomClass(mixed $id, array $attributes, bool $touch)

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

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

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

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

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

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

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

из InteractsWithPivotTable
Pivot newExistingPivot(array $attributes = [])

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

из InteractsWithPivotTable
Builder newPivotStatement()

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

из InteractsWithPivotTable
Builder newPivotStatementForId(mixed $id)

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

из InteractsWithPivotTable
Builder newPivotQuery()

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

из InteractsWithPivotTable
$this withPivot(array|mixed $columns)

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

из InteractsWithPivotTable
array parseIds(mixed $value)

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

из InteractsWithPivotTable
mixed parseId(mixed $value)

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

из InteractsWithPivotTable
array castKeys(array $keys)

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

из InteractsWithPivotTable
mixed castKey(mixed $key)

Преобразовать заданный ключ для преобразования в тип первичного ключа.

из InteractsWithPivotTable
array castAttributes(array $attributes)

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

из InteractsWithPivotTable
mixed getTypeSwapValue(string $type, mixed $value)

Преобразует заданное значение в значение заданного типа.

из InteractsWithPivotTable
string resolveTableName(string $table)

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

$this performJoin(Builder|null $query = null)

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

$this addWhereConstraints()

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

array buildDictionary(Collection $results)

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

string getPivotClass()

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

$this using(string $class)

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

$this as(string $accessor)

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

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

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

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

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

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

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

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

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

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

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

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

Установить условие «входит» для столбца таблицы-связи.

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

Установить условие «или где» для столбца таблицы-связи.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$this orWherePivotNotNull(string $column)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель|BelongsToMany firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')

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

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

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

Модель|BelongsToMany firstOrFail(array $columns = ['*'])

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

Модель|BelongsToMany|mixed firstOr(Closure|array $columns = ['*'], Closure $callback = null)

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

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

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

array aliasedPivotColumns()

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

LengthAwarePaginator paginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Получить пагинатор для запроса "select".

Paginator simplePaginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Осуществить пагинацию заданного запроса с помощью простого пагинатора.

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 each(callable $callback, int $count = 1000)

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

LazyCollection lazy(int $chunkSize = 1000)

Лениво выполнить запрос кусками заданного размера.

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

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

LazyCollection cursor()

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

Builder prepareQueryBuilder()

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

void hydratePivotRelation(array $models)

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

array migratePivotAttributes(Модель $model)

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

void touchIfTouching()

Если необходимо обновить родительскую модель, обновить её.

bool touchingParent()

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

string guessInverseRelation()

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

Collection allRelatedIds()

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

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

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

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

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

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

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

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

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

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

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

string getExistenceCompareKey()

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

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

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

string getForeignPivotKeyName()

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

string getQualifiedForeignPivotKeyName()

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

string getRelatedPivotKeyName()

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

string getQualifiedRelatedPivotKeyName()

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

string getParentKeyName()

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

string getRelatedKeyName()

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

string getQualifiedRelatedKeyName()

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

string getTable()

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

string getRelationName()

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

string getPivotAccessor()

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

array getPivotColumns()

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

string qualifyPivotColumn(string $column)

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

Details

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

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

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

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

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

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

Parameters

string $method

Return Value

void

Exceptions

BadMethodCallException

static void macro(string $name, object|callable $macro)

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

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

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

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

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

Parameters

string $name

Return Value

bool

static void flushMacros()

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

Return Value

void

static mixed __callStatic(string $method, array $parameters)

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

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException
END_OF_DOCUMENT_MARKER

смешанный __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

смешанный

Исключения

BadMethodCallException

void __construct(Builder $query, Модель $parent, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string|null $relationName = null)

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

Параметры

Builder $query
Модель $parent
string $table
string $foreignPivotKey
string $relatedPivotKey
string $parentKey
string $relatedKey
string|null $relationName

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

void

статический смешанный noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

смешанный

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, Коллекция $results, string $relation)

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

Параметры

array $models
Коллекция $results
string $relation

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

array

смешанный getResults()

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

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

смешанный

Коллекция getEager()

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

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

Коллекция

Модель sole(array|string $columns = ['*'])

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

Параметры

array|string $columns

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

Модель

Исключения

ModelNotFoundException
MultipleRecordsFoundException

Коллекция get(array $columns = ['*'])

Выполнить запрос как операцию «выбрать».

Параметры

array $columns

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

Коллекция

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

строка getRelationCountHash(bool $incrementJoinCount = true)

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

Параметры

bool $incrementJoinCount

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

строка

защищенный array getKeys(array $models, string|null $key = null)

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

Параметры

array $models
string|null $key

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

array

protected Builder getRelationQuery()

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

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

Builder

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected string whereInMethod(Модель $model, string $key)

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

Параметры

Модель $model
string $key

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

string

static void requireMorphMap(bool $requireMorphMap = true)

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

Параметры

bool $requireMorphMap

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

void

static bool requiresMorphMap()

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

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

bool

static array enforceMorphMap(array $map, bool $merge = true)

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

Параметры

array $map
bool $merge

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

array

static array morphMap(array $map = null, bool $merge = true)

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

Параметры

array $map
bool $merge

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

array

static protected array|null buildMorphMapFromModels(array $models = null)

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

Параметры

array $models

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

array|null

static string|null getMorphedModel(string $alias)

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

Параметры

string $alias

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

string|null

void __clone()

Вынужденная клонирование подчинённого билдера запросов при клонировании.

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

void

protected mixed getDictionaryKey(mixed $attribute)

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

Параметры

mixed $attribute

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

mixed

Исключения

InvalidArgumentException

array toggle(mixed $ids, bool $touch = true)

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

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

Параметры

mixed $ids
bool $touch

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

array

array syncWithoutDetaching(Коллекция|Модель|array $ids)

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

Параметры

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

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

array

array sync(Коллекция|Модель|array $ids, bool $detaching = true)

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

Параметры

Коллекция|Модель|array $ids
bool $detaching

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

array

array syncWithPivotValues(Collection|Модель|array $ids, array $values, bool $detaching = true)

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

Параметры

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

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

массив

protected array formatRecordsList(array $records)

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

Параметры

массив $records

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

массив

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

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

Параметры

массив $records
массив $current
bool $touch

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

массив

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

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

Параметры

mixed $id
массив $attributes
bool $touch

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

int

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

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

Параметры

mixed $id
массив $attributes
bool $touch

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

int

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

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

Параметры

mixed $id
массив $attributes
bool $touch

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

void

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

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

Параметры

mixed $id
массив $attributes

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

void

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

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

Параметры

массив $ids
массив $attributes

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

массив

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

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

Параметры

int $key
mixed $value
массив $attributes
bool $hasTimestamps

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

массив

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

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

Параметры

mixed $key
mixed $value
массив $attributes

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

массив

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

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

Параметры

int $id
bool $timed

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

массив

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

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

Параметры

массив $record
bool $exists

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

массив

bool hasPivotColumn(string $column)

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

Параметры

строка $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

Связь newPivot(array $attributes = [], bool $exists = false)

Создание нового экземпляра модели связи.

Параметры

массив $attributes
bool $exists

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

Связь

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

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

Параметры

массив $attributes

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

Связь

Builder newPivotStatement()

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

Значение возврата

Builder

Builder newPivotStatementForId(mixed $id)

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

Параметры

mixed $id

Значение возврата

Builder

Builder newPivotQuery()

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

Значение возврата

Builder

$this withPivot(array|mixed $columns)

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

Параметры

array|mixed $columns

Значение возврата

$this

protected array parseIds(mixed $value)

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

Параметры

mixed $value

Значение возврата

array

protected mixed parseId(mixed $value)

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

Параметры

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(Builder|null $query = null)

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

Параметры

Builder|null $query

Значение возврата

$this

protected $this addWhereConstraints()

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

Значение возврата

$this

protected array buildDictionary(Collection $results)

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

Параметры

Collection $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

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

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

Параметры

string $column
array $values
string $boolean

Значение возврата

$this
END_OF_DOCUMENT_MARKER

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

Установить условие «или не между» для столбца таблицы сводки.

Parameters

string $column
array $values

Return Value

$this

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

Установить условие «где в» для столбца таблицы сводки.

Parameters

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

Return Value

$this

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

Установить условие «или где» для столбца таблицы сводки.

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)

Установить условие «или где в» для столбца таблицы сводки.

Parameters

string $column
mixed $values

Return Value

$this

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

Установить условие «где не в» для столбца таблицы сводки.

Parameters

string $column
mixed $values
string $boolean

Return Value

$this

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

Установить условие «или где не в» для столбца таблицы сводки.

Parameters

string $column
mixed $values

Return Value

$this

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

Установить условие «где пусто» для столбца таблицы сводки.

Parameters

string $column
string $boolean
bool $not

Return Value

$this

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

Установить условие «где не пусто» для столбца таблицы сводки.

Parameters

string $column
string $boolean

Return Value

$this

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

Установить условие «или где пусто» для столбца таблицы сводки.

Parameters

string $column
bool $not

Return Value

$this

$this orWherePivotNotNull(string $column)

Установить условие «или где не пусто» для столбца таблицы сводки.

Parameters

string $column

Return Value

$this

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

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

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

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

Parameters

mixed $id
array $columns

Return Value

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

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

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

Параметры

Arrayable|массив $ids
массив $columns

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

Коллекция

Модель|Коллекция findOrFail(смешанный $id, массив $columns = ['*'])

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

Параметры

смешанный $id
массив $columns

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

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

Исключения

ModelNotFoundException

Модель|BelongsToMany firstWhere(Closure|строка|массив $column, смешанный $operator = null, смешанный $value = null, строка $boolean = 'and')

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

Параметры

Closure|строка|массив $column
смешанный $operator
смешанный $value
строка $boolean

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

Модель|BelongsToMany

смешанный first(массив $columns = ['*'])

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

Параметры

массив $columns

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

смешанный

Модель|BelongsToMany firstOrFail(массив $columns = ['*'])

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

Параметры

массив $columns

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

Модель|BelongsToMany

Исключения

ModelNotFoundException

Модель|BelongsToMany|смешанный firstOr(Closure|массив $columns = ['*'], Closure $callback = null)

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

Параметры

Closure|массив $columns
Closure $callback

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

Модель|BelongsToMany|смешанный

protected массив shouldSelect(массив $columns = ['*'])

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

Параметры

массив $columns

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

массив

protected массив aliasedPivotColumns()

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

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

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

массив

LengthAwarePaginator paginate(целое|null $perPage = null, массив $columns = ['*'], строка $pageName = 'page', целое|null $page = null)

Получить пагинатор для оператора "select".

Параметры

целое|null $perPage
массив $columns
строка $pageName
целое|null $page

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

LengthAwarePaginator

Paginator simplePaginate(целое|null $perPage = null, массив $columns = ['*'], строка $pageName = 'page', целое|null $page = null)

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

Параметры

целое|null $perPage
массив $columns
строка $pageName
целое|null $page

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

Paginator

CursorPaginator cursorPaginate(целое|null $perPage = null, массив $columns = ['*'], строка $cursorName = 'cursor', строка|null $cursor = null)

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

Параметры

целое|null $perPage
массив $columns
строка $cursorName
строка|null $cursor

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

CursorPaginator

булево chunk(целое $count, вызываемый $callback)

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

Параметры

целое $count
вызываемый $callback

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

булево

булево chunkById(целое $count, вызываемый $callback, строка|null $column = null, строка|null $alias = null)

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

Параметры

целое $count
вызываемый $callback
строка|null $column
строка|null $alias

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

булево

булево each(вызываемый $callback, целое $count = 1000)

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

Параметры

вызываемый $callback
целое $count

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

булево

LazyCollection lazy(int $chunkSize = 1000)

Запрос лениво, по частям заданного размера.

Parameters

int $chunkSize

Return Value

LazyCollection

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

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

Parameters

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

Return Value

LazyCollection

LazyCollection cursor()

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

Return Value

LazyCollection

protected Builder prepareQueryBuilder()

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

Return Value

Builder

protected void hydratePivotRelation(array $models)

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

Parameters

array $models

Return Value

void

protected array migratePivotAttributes(Model $model)

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

Parameters

Model $model

Return Value

array

void touchIfTouching()

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

Return Value

void

protected bool touchingParent()

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

Return Value

bool

protected string guessInverseRelation()

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

Return Value

string

Collection allRelatedIds()

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

Return Value

Collection

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

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

Parameters

Model $model
array $pivotAttributes
bool $touch

Return Value

Model

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

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

Parameters

Collection|array $models
array $pivotAttributes

Return Value

array

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

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

Parameters

array $attributes
array $joining
bool $touch

Return Value

Model

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

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

Parameters

iterable $records
array $joinings

Return Value

array

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

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

Parameters

Builder $query
Builder $parentQuery
array|mixed $columns

Return Value

Builder

string getExistenceCompareKey()

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

Return Value

string

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

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

Parameters

mixed $createdAt
mixed $updatedAt

Return Value

$this

string getForeignPivotKeyName()

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

Return Value

string

string getQualifiedForeignPivotKeyName()

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

Return Value

string

string getRelatedPivotKeyName()

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

Return Value

string

string getQualifiedRelatedPivotKeyName()

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

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

string

string getParentKeyName()

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

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

string

string getRelatedKeyName()

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

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

string

string getQualifiedRelatedKeyName()

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

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

string

string getTable()

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

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

string

string getRelationName()

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

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

string

string getPivotAccessor()

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

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

string

array getPivotColumns()

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

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

array

string qualifyPivotColumn(string $column)

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

Параметры

string $column

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

string

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

Spec-Zone.ru

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