Spec-Zone.ru › Laravel 7

BelongsToMany

class BelongsToMany extends Relation (View source)

Свойства

InteractsWithPivotTable
ForwardsCalls
Macroable

Свойства

static protected array $macros

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

from Macroable
protected Builder $query

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

from Relation
protected Model $parent

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

from Relation
protected Model $related

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

from Relation
static protected bool $constraints

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

from Relation
static array $morphMap

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

from Relation
protected string $table

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

protected string $foreignPivotKey

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

protected string $relatedPivotKey

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

protected string $parentKey

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

protected string $relatedKey

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

protected string $relationName

Название отношения.

protected array $pivotColumns

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

protected array $pivotWheres

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

protected array $pivotWhereIns

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

protected array $pivotWhereNulls

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

protected array $pivotValues

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

bool $withTimestamps

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

protected string $pivotCreatedAt

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

protected string $pivotUpdatedAt

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

protected string $using

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

protected string $accessor

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

static protected int $selfJoinCount

Количество самосоединений.

Методы

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

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

from ForwardsCalls
static void throwBadMethodCallException(string $method)

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

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

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

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

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

from Macroable
static bool hasMacro(string $name)

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

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

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

from Macroable
mixed __call(string $method, array $parameters)

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

from Macroable
void __construct(Builder $query, Model $parent, string $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
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 = ['*'])

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

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

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

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" связанной модели.

from Relation
string whereInMethod(Model $model, string $key)

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

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

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

from Relation
static array|null buildMorphMapFromModels(array $models = null)

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

from Relation
static string|null getMorphedModel(string $alias)

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

из Relation
void __clone()

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

из Relation
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 formatRecordsList(array $records)

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

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

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

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

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

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

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

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

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

из InteractsWithPivotTable
void attachUsingCustomClass(mixed $id, array $attributes)

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

из InteractsWithPivotTable
array formatAttachRecords(array $ids, array $attributes)

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

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

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

из InteractsWithPivotTable
array addTimestampsToAttachment(array $record, bool $exists = false)

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

из InteractsWithPivotTable
bool hasPivotColumn(string $column)

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

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

Отсоединить модели от отношения.

из InteractsWithPivotTable
int detachUsingCustomClass(mixed $ids)

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

из InteractsWithPivotTable
Collection getCurrentlyAttachedPivots()

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

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

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

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

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

из InteractsWithPivotTable
Builder newPivotStatement()

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

из InteractsWithPivotTable
Builder newPivotStatementForId(mixed $id)

Получить новое утверждение pivot для заданного идентификатора «другого».

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

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

$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" для столбца сводной таблицы.

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

Установить предложение "OR WHERE" для столбца сводной таблицы.

$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" для столбца сводной таблицы.

Collection|Model findOrNew(mixed $id, array $columns = ['*'])

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

Model firstOrNew(array $attributes)

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

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

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

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

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

Model|Collection|null find(mixed $id, array $columns = ['*'])

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

Collection findMany(Arrayable|array $ids, array $columns = ['*'])

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

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

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

Модель|СвязьMany-to-Many firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')

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

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

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

Модель|СвязьMany-to-Many firstOrFail(array $columns = ['*'])

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

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

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

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)

Выполнить пагинацию заданного запроса с помощью простого пагинатора.

bool chunk(int $count, callable $callback)

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

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

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

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

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

LazyCollection cursor()

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

void hydratePivotRelation(array $models)

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

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

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

void touchIfTouching()

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

bool touchingParent()

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

string guessInverseRelation()

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

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

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

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

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

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

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

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

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

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

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

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

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

string getExistenceCompareKey()

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

string getRelationCountHash()

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

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

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

string getForeignPivotKeyName()

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

string getQualifiedForeignPivotKeyName()

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

string getRelatedPivotKeyName()

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

string getQualifiedRelatedPivotKeyName()

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

string getParentKeyName()

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

string getRelatedKeyName()

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

string getTable()

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

string getRelationName()

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

string getPivotAccessor()

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

array getPivotColumns()

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

Подробности

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

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

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

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

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

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

Параметры

array $models
string|null $key

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

array

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

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

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

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

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

Параметры

mixed $ids
bool $touch

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

array

array syncWithoutDetaching(Collection|Модель|array $ids)

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

Параметры

Collection|Модель|array $ids

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

array

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

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

Параметры

Collection|Модель|array $ids
bool $detaching

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

array

protected array formatRecordsList(array $records)

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

Параметры

array $records

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

array

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

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

Параметры

array $records
array $current
bool $touch

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

array

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

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

Параметры

mixed $id
array $attributes
bool $touch

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

int

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

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

Параметры

mixed $id
array $attributes
bool $touch

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

int

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

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

Параметры

mixed $id
array $attributes
bool $touch

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

void

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

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

Параметры

mixed $id
array $attributes

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

void

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

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

Параметры

array $ids
array $attributes

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

array

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

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

Параметры

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

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

array

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

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

Параметры

mixed $key
mixed $value
array $attributes

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

array

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

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

Параметры

int $id
bool $timed

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

array

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

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

Параметры

array $record
bool $exists

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

array

bool hasPivotColumn(string $column)

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

Параметры

string $column

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

bool

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

Отсоединить модели от отношения.

Параметры

mixed $ids
bool $touch

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

int

protected int detachUsingCustomClass(mixed $ids)

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

Параметры

mixed $ids

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

int

protected Collection getCurrentlyAttachedPivots()

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

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

Collection

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

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

Параметры

array $attributes
bool $exists

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

Pivot

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

$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

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

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

Параметры

string $column
array $values

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

$this

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

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

Параметры

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

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

$this

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

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

Параметры

string $column
mixed $operator
mixed $value

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

$this
END_OF_DOCUMENT_MARKER

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

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

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

Параметры

string|array $column
mixed $value

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

$this

Исключения

InvalidArgumentException

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

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

Параметры

string $column
mixed $values

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

$this

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

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

Параметры

string $column
mixed $values
string $boolean

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

$this

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

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

Параметры

string $column
mixed $values

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

$this

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

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

Параметры

string $column
string $boolean
bool $not

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

$this

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

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

Параметры

string $column
string $boolean

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

$this

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

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

Параметры

string $column
bool $not

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

$this

$this orWherePivotNotNull(string $column)

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

Параметры

string $column

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

$this

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

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

Параметры

mixed $id
array $columns

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

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

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $attributes
array $joining
bool $touch

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

Модель

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

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

Параметры

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

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

Модель

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

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

Параметры

mixed $id
array $columns

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

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

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

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

Параметры

Имеющая массив|array $ids
array $columns

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

Коллекция

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

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

Параметры

mixed $id
array $columns

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

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

Исключения

Исключение_ненайденной_модели

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

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

Параметры

Closure|string|array $column
mixed $operator
mixed $value
string $boolean

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

Модель|BelongsToMany

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

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

Параметры

array $columns

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

mixed

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

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

Параметры

array $columns

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

Модель|BelongsToMany

Исключения

ModelNotFoundException

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

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

Параметры

array $columns

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

array

protected array aliasedPivotColumns()

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

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

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

array

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

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 cursor()

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

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

LazyCollection

protected void hydratePivotRelation(array $models)

Гидратировать отношение pivot table для моделей.

Параметры

array $models

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

void

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

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

Параметры

Модель $model

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

array

void touchIfTouching()

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

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

void

protected bool touchingParent()

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

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

bool

protected string guessInverseRelation()

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

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

string

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

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

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

Коллекция

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

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

Параметры

Модель $model
массив $pivotAttributes
логическое значение $touch

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

Модель

массив saveMany(Коллекция|массив $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».

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

строка

строка getRelationCountHash()

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

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

строка

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

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

Параметры

смешанный тип $createdAt
смешанный тип $updatedAt

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

$this

строка getForeignPivotKeyName()

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

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

строка

строка getQualifiedForeignPivotKeyName()

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

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

строка

строка getRelatedPivotKeyName()

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

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

строка

строка getQualifiedRelatedPivotKeyName()

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

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

строка

строка getParentKeyName()

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

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

строка

строка getRelatedKeyName()

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

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

строка

строка getTable()

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

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

строка

строка getRelationName()

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

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

строка

строка getPivotAccessor()

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

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

строка

массив getPivotColumns()

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

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

массив

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

Spec-Zone.ru

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