Spec-Zone.ru › Laravel 6

BelongsToMany

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

Трейты

InteractsWithPivotTable
ForwardsCalls
Macroable

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

из Relation
защищённый строка $table

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

защищённый строка $foreignPivotKey

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

защищённый строка $relatedPivotKey

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

защищённый строка $parentKey

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

защищённый строка $relatedKey

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

защищённый строка $relationName

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

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

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

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

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

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

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

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

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

булево $withTimestamps

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

защищённый строка $pivotCreatedAt

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

защищённый строка $pivotUpdatedAt

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

защищённый строка $using

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

защищённый строка $accessor

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

статический защищённый целое число $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 $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 = ['*'])

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

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

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

string updatedAt()

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

string relatedUpdatedAt()

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

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

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

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

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

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

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

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

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

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

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

из 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, string|null $operator = null, mixed $value = null, string $boolean = 'and')

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

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

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

$this orWherePivot(string $column, string|null $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" для столбца таблицы связей.

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(mixed $ids, array $columns = ['*'])

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

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

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

Model|BelongsToMany firstWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')

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

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

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

Model|BelongsToMany firstOrFail(array $columns = ['*'])

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

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)

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

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)

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

array migratePivotAttributes(Model $model)

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

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

string getRelationCountHash()

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

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

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

string getForeignPivotKeyName()

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

string getQualifiedForeignPivotKeyName()

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

string getRelatedPivotKeyName()

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

string getQualifiedRelatedPivotKeyName()

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

string getParentKeyName()

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

string getRelatedKeyName()

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

string getTable()

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

string getRelationName()

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

string getPivotAccessor()

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

array getPivotColumns()

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

Details

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)

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

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)

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

Параметры

string $name

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

bool

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

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

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

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

Параметры

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

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

void

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

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

Параметры

array $models

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

void

array initRelation(array $models, string $relation)

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

mixed getResults()

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

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

mixed

Collection getEager()

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

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

Collection

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

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

Параметры

array $columns

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

Collection

void touch()

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

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

array $attributes

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

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Параметры

Builder $query
Builder $parentQuery

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

Builder

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

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

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

Параметры

array $models
string $key

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

array

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Модель getParent()

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

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

Модель

строка getQualifiedParentKeyName()

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

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

строка

Модель getRelated()

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

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

Модель

строка createdAt()

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

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

строка

строка updatedAt()

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

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

строка

строка relatedUpdatedAt()

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

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

строка

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

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

Параметры

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

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

строка

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

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

Параметры

массив $map
bool $merge

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

массив

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

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

Параметры

массив $models

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

массив|null

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

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

Параметры

строка $alias

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

строка|null

пусто __clone()

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

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

пусто

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

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

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

Параметры

смешанный $ids
bool $touch

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

массив

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

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

Параметры

Коллекция|Модель|массив $ids

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

массив

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

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

Параметры

Коллекция|Модель|массив $ids
bool $detaching

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

массив

protected массив formatRecordsList(массив $records)

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

Параметры

массив $records

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

массив

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

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

Параметры

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

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

массив

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

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

Параметры

смешанный $id
массив $attributes
bool $touch

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

целое число

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

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

Параметры

смешанный $id
массив $attributes
bool $touch

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

целое число

пусто attach(смешанный $id, массив $attributes = [], bool $touch = true)

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

Параметры

смешанный $id
массив $attributes
bool $touch

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

пусто
END_OF_DOCUMENT_MARKER

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

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

Parameters

mixed $id
array $attributes

Return Value

void

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

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

Parameters

array $ids
array $attributes

Return Value

array

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

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

Parameters

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

Return Value

array

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

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

Parameters

mixed $key
mixed $value
array $attributes

Return Value

array

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

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

Parameters

int $id
bool $timed

Return Value

array

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

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

Parameters

array $record
bool $exists

Return Value

array

bool hasPivotColumn(string $column)

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

Parameters

string $column

Return Value

bool

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

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

Parameters

mixed $ids
bool $touch

Return Value

int

protected int detachUsingCustomClass(mixed $ids)

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

Parameters

mixed $ids

Return Value

int

protected Collection getCurrentlyAttachedPivots()

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

Return Value

Collection

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

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

Parameters

array $attributes
bool $exists

Return Value

Pivot

Pivot newExistingPivot(array $attributes = [])

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

Parameters

array $attributes

Return Value

Pivot

Builder newPivotStatement()

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

Return Value

Builder

Builder newPivotStatementForId(mixed $id)

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

Parameters

mixed $id

Return Value

Builder

Builder newPivotQuery()

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

Return Value

Builder

$this withPivot(array|mixed $columns)

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

Parameters

array|mixed $columns

Return Value

$this

protected array parseIds(mixed $value)

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

Parameters

mixed $value

Return Value

array

protected mixed parseId(mixed $value)

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

Parameters

mixed $value

Return Value

mixed

protected array castKeys(array $keys)

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

Parameters

array $keys

Return Value

array

protected mixed castKey(mixed $key)

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

Parameters

mixed $key

Return Value

mixed

protected array castAttributes(array $attributes)

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

Параметры

массив $attributes

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

массив

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

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

Параметры

строка $type
смешанное $value

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

смешанное

protected string resolveTableName(string $table)

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

Параметры

строка $table

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

строка

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

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

Параметры

Builder|null $query

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

$this

protected $this addWhereConstraints()

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

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

$this

protected array buildDictionary(Collection $results)

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

Параметры

Collection $results

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

массив

string getPivotClass()

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

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

строка

$this using(string $class)

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

Параметры

строка $class

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

$this

$this as(string $accessor)

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

Параметры

строка $accessor

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

$this

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

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

Параметры

строка $column
строка|null $operator
смешанное $value
строка $boolean

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

$this

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

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

Параметры

строка $column
смешанное $values
строка $boolean
булево $not

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

$this

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

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

Параметры

строка $column
строка|null $operator
смешанное $value

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

$this

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

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

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

Параметры

строка|массив $column
смешанное $value

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

$this

Исключения

InvalidArgumentException

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

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

Параметры

строка $column
смешанное $values

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

$this

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

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

Параметры

строка $column
смешанное $values
строка $boolean

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

$this

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

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

Параметры

строка $column
смешанное $values

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

$this

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

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

Параметры

смешанное $id
массив $columns

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

Collection|Model

Model firstOrNew(array $attributes)

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

Параметры

массив $attributes

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

Model

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

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

Параметры

mixed $ids
array $columns

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

Коллекция

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

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

Параметры

mixed $id
array $columns

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

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

Исключения

ModelNotFoundException

Модель|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)

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

Parameters

callable $callback
int $count

Return Value

bool

LazyCollection cursor()

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

Return Value

LazyCollection

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

string getRelationCountHash()

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

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

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

Return Value

string

string getParentKeyName()

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

Return Value

string

string getRelatedKeyName()

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

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

string

string getTable()

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

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

string

string getRelationName()

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

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

string

string getPivotAccessor()

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

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

string

array getPivotColumns()

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

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

array

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

Spec-Zone.ru

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