Spec-Zone.ru › Laravel 9

BelongsToMany

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

Трейты

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

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

защищённый string $foreignPivotKey

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

защищённый string $relatedPivotKey

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

защищённый string $parentKey

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

защищённый string $relatedKey

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

защищённый string $relationName

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

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

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

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

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

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

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

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

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

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

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

bool $withTimestamps

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

защищённый string $pivotCreatedAt

Настраиваемый столбец pivot таблицы для метки времени created_at.

защищённый string $pivotUpdatedAt

Настраиваемый столбец pivot таблицы для метки времени updated_at.

защищённый string $using

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

защищённый string $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)

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

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

Выполнить запрос как оператор "select".

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
Builder toBase()

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

from Relation
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

Модель getRelated()

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

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

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

строка updatedAt()

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

строка relatedUpdatedAt()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

из Отношения
mixed getDictionaryKey(mixed $attribute)

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

из InteractsWithDictionary
массив toggle(mixed $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(mixed $id, массив $attributes, bool $touch = true)

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

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

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

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

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

из InteractsWithPivotTable
void attachUsingCustomClass(mixed $id, массив $attributes)

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

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

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

из InteractsWithPivotTable
массив formatAttachRecord(целое число $key, mixed $value, массив $attributes, bool $hasTimestamps)

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

из InteractsWithPivotTable
массив extractAttachIdAndAttributes(mixed $key, mixed $value, массив $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)

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

из InteractsWithPivotTable
Builder newPivotQuery()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Установить условие «or where in» для столбца pivot-таблицы.

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

Установить условие «where not in» для столбца таблицы pivot.

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

Установить условие «or where not in» для столбца pivot-таблицы.

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

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

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

Установить условие «where not null» для столбца pivot-таблицы.

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

Установить условие «or where null» для столбца pivot-таблицы.

$this orWherePivotNotNull(string $column)

Установить условие «or where not null» для столбца pivot-таблицы.

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

Добавить условие «order by» для столбца pivot-таблицы.

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

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

Модель firstOrNew(array $attributes = [], array $values = [])

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

Модель firstOrCreate(array $attributes = [], array $values = [], 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 = ['*'])

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

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

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

Модель|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 = ['*'])

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

array aliasedPivotColumns()

Получить столбцы pivot-связи.

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

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

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

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

CursorPaginator cursorPaginate(int|null $perPage = null, array $columns = ['*'], string $cursorName = 'cursor', string|null $cursor = null)

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

bool chunk(int $count, callable $callback)

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

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

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

bool 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 $model)

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

void touchIfTouching()

Если нужно обновить родительскую модель, выполнить обновление.

bool touchingParent()

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

string guessInverseRelation()

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

Collection allRelatedIds()

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

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

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

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

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

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

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

array saveManyQuietly(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)

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

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
END_OF_DOCUMENT_MARKER

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

mixed __call(string $method, array $parameters)

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

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

void __construct(Builder $query, Model $parent, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string|null $relationName = null)

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

Parameters

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

Return Value

void

static mixed noConstraints(Closure $callback)

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

Parameters

Closure $callback

Return Value

mixed

void addConstraints()

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

Return Value

void

void addEagerConstraints(array $models)

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

Parameters

array $models

Return Value

void

array initRelation(array $models, string $relation)

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

Parameters

array $models
string $relation

Return Value

array

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

mixed getResults()

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

Return Value

mixed

Collection getEager()

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

Return Value

Collection

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

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

Parameters

array|string $columns

Return Value

Model

Exceptions

Model>
MultipleRecordsFoundException

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

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

Parameters

array $columns

Return Value

Collection

void touch()

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

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

Return Value

void

int rawUpdate(array $attributes = [])

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

Parameters

array $attributes

Return Value

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Parameters

Builder $query
Builder $parentQuery

Return Value

Builder
END_OF_DOCUMENT_MARKER

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)

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

Параметры

array $models
string|null $key

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

array

protected Builder getRelationQuery()

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

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

Builder

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Builder toBase()

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

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

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)

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

Параметры

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(Collection|Model|array $ids)

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

Параметры

Collection|Model|array $ids

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

array

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)

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

Параметры

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

Pivot newExistingPivot(array $attributes = [])

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

Параметры

array $attributes

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

Pivot

Builder newPivotStatement()

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

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

Builder

Builder newPivotStatementForId(mixed $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
END_OF_DOCUMENT_MARKER

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

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

Parameters

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

Return Value

$this

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

Установите условие «where between» для столбца таблицы pivot.

Parameters

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

Return Value

$this

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

Установите условие «or where between» для столбца таблицы pivot.

Parameters

string $column
array $values

Return Value

$this

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

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

Parameters

string $column
array $values
string $boolean

Return Value

$this

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

Установите условие «or where not between» для столбца таблицы pivot.

Parameters

string $column
array $values

Return Value

$this

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

Установите условие «where in» для столбца таблицы pivot.

Parameters

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

Return Value

$this

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

Установите условие «or where» для столбца таблицы pivot.

Parameters

string $column
mixed $operator
mixed $value

Return Value

$this

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

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

Кроме того, новые записи pivot будут получать это значение.

Parameters

string|array $column
mixed $value

Return Value

$this

Exceptions

InvalidArgumentException

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

Установите условие «or where in» для столбца таблицы pivot.

Parameters

string $column
mixed $values

Return Value

$this

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

Установите условие «where not in» для столбца таблицы pivot.

Parameters

string $column
mixed $values
string $boolean

Return Value

$this

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

Установите условие «or where not in» для столбца таблицы pivot.

Parameters

string $column
mixed $values

Return Value

$this

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

Установите условие «where null» для столбца таблицы pivot.

Parameters

string $column
string $boolean
bool $not

Return Value

$this

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

Установите условие «where not null» для столбца таблицы pivot.

Parameters

string $column
string $boolean

Return Value

$this

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

Установите условие «or where null» для столбца таблицы pivot.

Parameters

string $column
bool $not

Return Value

$this

$this orWherePivotNotNull(string $column)

Установите условие «or where not null» для столбца таблицы pivot.

Parameters

string $column

Return Value

$this

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

Добавьте условие «order by» для столбца таблицы pivot.

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 = [], array $values = [])

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

Параметры

массив $attributes
массив $values

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

Модель

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

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

Параметры

массив $attributes
массив $values
массив $joining
логическое $touch

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

Модель

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

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

Параметры

массив $attributes
массив $values
массив $joining
логическое $touch

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

Модель

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

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

Параметры

mixed $id
массив $columns

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

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

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

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

Параметры

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

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

Коллекция

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

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

Параметры

mixed $id
массив $columns

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

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

Исключения

Модель>

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

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

Параметры

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

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

Модель|Коллекция|смешанный

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

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

Параметры

Closure|строка|массив $column
mixed $operator
mixed $value
строка $boolean

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

Модель|BelongsToMany

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

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

Параметры

массив $columns

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

смешанный

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

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

Параметры

массив $columns

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

Модель|BelongsToMany

Исключения

Модель>

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

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

Параметры

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

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

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

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

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

Параметры

массив $columns

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

массив

protected массив aliasedPivotColumns()

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

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

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

массив

LengthAwarePaginator 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

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

LengthAwarePaginator

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

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

Параметры

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

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

Paginator

CursorPaginator cursorPaginate(int|null $perPage = null, array $columns = ['*'], string $cursorName = 'cursor', string|null $cursor = null)

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

Параметры

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

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

CursorPaginator

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
END_OF_DOCUMENT_MARKER

Модель saveQuietly(Модель $model, array $pivotAttributes = [], bool $touch = true)

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

Параметры

Модель $model
массив $pivotAttributes
булево $touch

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

Модель

массив saveMany(Коллекция|массив $models, array $pivotAttributes = [])

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

Параметры

Коллекция|массив $models
массив $pivotAttributes

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

массив

массив saveManyQuietly(Коллекция|массив $models, array $pivotAttributes = [])

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

Параметры

Коллекция|массив $models
массив $pivotAttributes

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

массив

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

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

Параметры

массив $attributes
массив $joining
булево $touch

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

Модель

массив createMany(iterable $records, array $joinings = [])

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

Параметры

iterable $records
массив $joinings

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

массив

Билдер getRelationExistenceQueryForSelfJoin(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])

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

Параметры

Билдер $query
Билдер $parentQuery
массив|смешанный $columns

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

Билдер

строка getExistenceCompareKey()

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

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

строка

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

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

Параметры

смешанный $createdAt
смешанный $updatedAt

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

$this

строка getForeignPivotKeyName()

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

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

строка

строка getQualifiedForeignPivotKeyName()

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

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

строка

строка getRelatedPivotKeyName()

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

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

строка

строка getQualifiedRelatedPivotKeyName()

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

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

строка

строка getParentKeyName()

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

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

строка

строка getRelatedKeyName()

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

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

строка

строка getQualifiedRelatedKeyName()

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

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

строка

строка getTable()

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

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

строка

строка getRelationName()

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

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

строка

строка getPivotAccessor()

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

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

строка

массив getPivotColumns()

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

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

массив

строка qualifyPivotColumn(строка $column)

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

Параметры

строка $column

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

строка

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

Spec-Zone.ru

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