Spec-Zone.ru › Laravel 5.7

BelongsToMany

класс BelongsToMany расширяет Relation (View source)

Черты

InteractsWithPivotTable
ForwardsCalls
Macroable

Свойства

static protected array $macros Зарегистрированные строковые макросы. из Macroable
protected Builder $query Экземпляр построителя запросов Eloquent. из Relation
protected Model $parent Экземпляр родительской модели. из Relation
protected Model $related Экземпляр связанной модели. из Relation
static protected bool $constraints Указывает, добавляет ли отношение ограничения. из Relation
static array $morphMap Массив для сопоставления имен классов с их морф-именами в базе данных. из 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 $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)

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

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

Выполнить запрос как оператор "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 $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
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)

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

from Relation
void __clone()

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

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

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

from InteractsWithPivotTable
array syncWithoutDetaching(Collection|Collection|array $ids)

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

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

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

from InteractsWithPivotTable
array formatRecordsList(array $records)

Форматирует список записей sync / toggle так, чтобы он имел ключи ID.

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

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

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

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

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

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

from InteractsWithPivotTable
array formatAttachRecords(array $ids, array $attributes)

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

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

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

from InteractsWithPivotTable
array extractAttachIdAndAttributes(mixed $key, mixed $value, array $attributes)

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

from InteractsWithPivotTable
array baseAttachRecord(int $id, bool $timed)

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

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

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

from InteractsWithPivotTable
bool hasPivotColumn(string $column)

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

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

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

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

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

from InteractsWithPivotTable
Pivot newExistingPivot(array $attributes = [])

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

from InteractsWithPivotTable
Builder newPivotStatement()

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

from InteractsWithPivotTable
Builder newPivotStatementForId(mixed $id)

Получает новое выражение pivot для заданного ID "другого".

from InteractsWithPivotTable
Builder newPivotQuery()

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

from InteractsWithPivotTable
$this withPivot(array|mixed $columns)

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

from InteractsWithPivotTable
array parseIds(mixed $value)

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

from InteractsWithPivotTable
mixed parseId(mixed $value)

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

from InteractsWithPivotTable
array castKeys(array $keys)

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

from InteractsWithPivotTable
mixed castKey(mixed $key)

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

from InteractsWithPivotTable
array castAttributes(array $attributes)

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

from InteractsWithPivotTable
mixed getTypeSwapValue(string $type, mixed $value)

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

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

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

$this addWhereConstraints()

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

array buildDictionary(Collection $results)

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

string getPivotClass()

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

$this using(string $class)

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

$this as(string $accessor)

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

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

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

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

Установить предложение "where in" для столбца таблицы pivot.

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

Установить предложение "or where" для столбца таблицы pivot.

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

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

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

Установить предложение "or where in" для столбца таблицы pivot.

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

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

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

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

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

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

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

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

array aliasedPivotColumns()

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

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

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

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

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

bool chunk(int $count, callable $callback)

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

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

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

void hydratePivotRelation(array $models)

Заполнить отношение таблицы pivot в моделях.

array migratePivotAttributes(Model $model)

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

void touchIfTouching()

Если мы затрагиваем родительскую модель, то обновляем её метку времени.

bool touchingParent()

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

string guessInverseRelation()

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

Collection allRelatedIds()

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

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

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

string getForeignPivotKeyName()

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

string getQualifiedForeignPivotKeyName()

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

string getRelatedPivotKeyName()

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

string getQualifiedRelatedPivotKeyName()

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

string getTable()

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

string getRelationName()

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

string getPivotAccessor()

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

Подробности

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

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

Параметры

mixed $object
string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

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

Параметры

string $method

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

void

Исключения

BadMethodCallException

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

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

Параметры

string $name
object|callable $macro

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

void

static void mixin(object $mixin)

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

Параметры

object $mixin

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

void

Исключения

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)

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

Параметры

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)

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

mixed getResults()

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

Return Value

mixed

Collection getEager()

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

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

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

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

Parameters

Builder $query
Builder $parentQuery
array|mixed $columns

Return Value

Builder

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

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

Parameters

array $models
string $key

Return Value

array

Builder getQuery()

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

Return Value

Builder

Builder getBaseQuery()

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

Return Value

Builder

Model getParent()

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

Return Value

Model

string getQualifiedParentKeyName()

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

Return Value

string

Model getRelated()

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

Return Value

Model

string createdAt()

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

Return Value

string

string updatedAt()

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

Return Value

string

string relatedUpdatedAt()

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

Return Value

string

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

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

Parameters

array $map
bool $merge

Return Value

array

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

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

Parameters

array $models

Return Value

array|null

static string|null getMorphedModel(string $alias)

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

Parameters

string $alias

Return Value

string|null

void __clone()

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

Return Value

void

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

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

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

Параметры

mixed $ids
bool $touch

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

array

array syncWithoutDetaching(Collection|Collection|array $ids)

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

Параметры

Collection|Collection|array $ids

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

array

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

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

Параметры

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

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

Параметры

mixed $id
array $attributes
bool $touch

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

int

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

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

Параметры

mixed $id
array $attributes
bool $touch

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

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)

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

Параметры

int $id
bool $timed

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

array

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

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

Параметры

array $record
bool $exists

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

array

protected bool hasPivotColumn(string $column)

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

Параметры

string $column

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

bool

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

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

Параметры

mixed $ids
bool $touch

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

int

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

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

Параметры

array $attributes
bool $exists

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

Pivot

Pivot newExistingPivot(array $attributes = [])

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

Параметры

array $attributes

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

Pivot

Builder newPivotStatement()

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

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

Builder

Builder newPivotStatementForId(mixed $id)

Получает новое утверждение pivot для заданного ID "другого".

Параметры

mixed $id

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

Builder

protected Builder newPivotQuery()

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

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

Builder

$this withPivot(array|mixed $columns)

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

Параметры

array|mixed $columns

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

$this

protected array parseIds(mixed $value)

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

Параметры

mixed $value

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

array

protected mixed parseId(mixed $value)

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

Параметры

mixed $value

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

mixed

protected array castKeys(array $keys)

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

Параметры

array $keys

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

array

protected mixed castKey(mixed $key)

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

Параметры

mixed $key

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

mixed

protected array castAttributes(array $attributes)

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

Параметры

array $attributes

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

array

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

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

Параметры

string $type
mixed $value

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

mixed

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

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

Параметры

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

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

Параметры

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

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

$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, string $operator = null, mixed $value = null)

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

Параметры

string $column
string $operator
mixed $value

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

$this

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

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

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

Параметры

string $column
mixed $value

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

$this

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

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

Параметры

string $column
mixed $values

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

$this

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

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

Параметры

mixed $id
array $columns

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

Collection|Model

Model firstOrNew(array $attributes)

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

Parameters

array $attributes

Return Value

Model

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

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

Parameters

array $attributes
array $joining
bool $touch

Return Value

Model

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

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

Parameters

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

Return Value

Model

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

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

Parameters

mixed $id
array $columns

Return Value

Model|Collection|null

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

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

Parameters

mixed $ids
array $columns

Return Value

Collection

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

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

Parameters

mixed $id
array $columns

Return Value

Model|Collection

Exceptions

ModelNotFoundException

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

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

Parameters

array $columns

Return Value

mixed

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

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

Parameters

array $columns

Return Value

Model|BelongsToMany

Exceptions

ModelNotFoundException

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

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

Parameters

array $columns

Return Value

array

protected array aliasedPivotColumns()

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

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

Return Value

array

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

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

Parameters

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

Return Value

LengthAwarePaginator

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

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

Parameters

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

Return Value

Paginator

bool chunk(int $count, callable $callback)

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

Parameters

int $count
callable $callback

Return Value

bool

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

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

Parameters

callable $callback
int $count

Return Value

bool

protected void hydratePivotRelation(array $models)

Заполнить отношения таблицы pivot в моделях.

Parameters

array $models

Return Value

void

protected array migratePivotAttributes(Model $model)

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

Parameters

Model $model

Return Value

array

void touchIfTouching()

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

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

void

protected bool touchingParent()

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

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

bool

protected string guessInverseRelation()

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

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

string

Collection allRelatedIds()

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

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

Collection

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

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

Параметры

Model $model
array $pivotAttributes
bool $touch

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

Model

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

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

Параметры

Collection|array $models
array $pivotAttributes

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

array

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

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

Параметры

array $attributes
array $joining
bool $touch

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

Model

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

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

Параметры

array $records
array $joinings

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

array

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getExistenceCompareKey()

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

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

string

string getRelationCountHash()

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

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

string

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

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

Параметры

mixed $createdAt
mixed $updatedAt

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

$this

string getForeignPivotKeyName()

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

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

string

string getQualifiedForeignPivotKeyName()

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

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

string

string getRelatedPivotKeyName()

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

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

string

string getQualifiedRelatedPivotKeyName()

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

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

string

string getTable()

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

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

string

string getRelationName()

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

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

string

string getPivotAccessor()

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

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

string

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

Spec-Zone.ru

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