Spec-Zone.ru › Laravel 5.3

BelongsToMany

class BelongsToMany extends Relation (View source)

Свойства

protected Builder $query Экземпляр билдера запросов Eloquent. из Relation
protected Model $parent Экземпляр родительской модели. из Relation
protected Model $related Экземпляр связанной модели. из Relation
static protected bool $constraints Указывает, добавляет ли отношение ограничения. из Relation
static protected array $morphMap Массив для сопоставления имён классов с их именами морфизма в базе данных. из Relation
protected string $table Промежуточная таблица для отношения.
protected string $foreignKey Внешний ключ родительской модели.
protected string $otherKey Связанный ключ отношения.
protected string $relationName Название отношения.
protected array $pivotColumns Столбцы промежуточной таблицы для извлечения.
protected array $pivotWheres Любые ограничения для промежуточной таблицы в операторах where.
protected array $pivotWhereIns Любые ограничения для промежуточной таблицы в операторах whereIn.
protected string $pivotCreatedAt Пользовательский столбец промежуточной таблицы для отметки времени created_at.
protected string $pivotUpdatedAt Пользовательский столбец промежуточной таблицы для отметки времени updated_at.
static protected int $selfJoinCount Количество самосоединений.

Методы

void __construct(Builder $query, Model $parent, string $table, string $foreignKey, string $otherKey, string $relationName = null)

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

void addConstraints()

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

void addEagerConstraints(array $models)

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

array initRelation(array $models, string $relation)

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

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

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

mixed getResults()

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

Collection getEager()

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

из Relation
void touch()

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

int rawUpdate(array $attributes = [])

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

из Relation
Builder getRelationCountQuery(Builder $query, Builder $parent)

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

из Relation
Builder getRelationQuery(Builder $query, Builder $parent, array|mixed $columns = ['*'])

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

static mixed noConstraints(Closure $callback)

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

из Relation
array getKeys(array $models, string $key = null)

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

из Relation
Builder getQuery()

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

из Relation
Builder getBaseQuery()

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

из Relation
Model getParent()

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

из Relation
string getQualifiedParentKeyName()

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

из Relation
Model getRelated()

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

из Relation
string createdAt()

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

string updatedAt()

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

string relatedUpdatedAt()

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

из Relation
string wrap(string $value)

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

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

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

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

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

из Relation
mixed __call(string $method, array $parameters)

Обработка динамических вызовов методов отношения.

из Relation
void __clone()

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

из Relation
BelongsToMany wherePivot(string $column, string $operator = null, mixed $value = null, string $boolean = 'and')

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

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

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

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

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

BelongsToMany orWherePivotIn(string $column, mixed $values)

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

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

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

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

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

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

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

Paginator с размером страницы 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)

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

void hydratePivotRelation(array $models)

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

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

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

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

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

string getRelationCountHash()

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

Связь many-to-many getSelectColumns(array $columns = ['*'])

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

array getAliasedPivotColumns()

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

bool hasPivotColumn(string $column)

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

$this setJoin(Билдер|null $query = null)

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

$this setWhere()

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

array buildDictionary(Коллекция $results)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

array formatRecordsList(array $records)

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

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

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

array castKeys(array $keys)

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

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

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

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

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

array createAttachRecords(array $ids, array $attributes)

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

array attacher(int $key, mixed $value, array $attributes, bool $timed)

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

array getAttachId(mixed $key, mixed $value, array $attributes)

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

array createAttachRecord(int $id, bool $timed)

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

array setTimestampsOnAttach(array $record, bool $exists = false)

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

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

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

void touchIfTouching()

Если необходимо обновлять метку времени родительской модели, сделать это.

bool touchingParent()

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

string guessInverseRelation()

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

Builder newPivotQuery()

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

Builder newPivotStatement()

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

Builder newPivotStatementForId(mixed $id)

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

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

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

Pivot newExistingPivot(array $attributes = [])

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

$this withPivot(array|mixed $columns)

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

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

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

string getRelatedFreshUpdate()

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

string getHasCompareKey()

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

string getForeignKey()

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

string getOtherKey()

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

string getTable()

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

string getRelationName()

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

Подробности

void __construct(Builder $query, Model $parent, string $table, string $foreignKey, string $otherKey, string $relationName = null)

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

Parameters

Builder $query
Model $parent
string $table
string $foreignKey
string $otherKey
string $relationName

Return Value

void

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

void touch()

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

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

Return Value

void

int rawUpdate(array $attributes = [])

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

Parameters

array $attributes

Return Value

int

Builder getRelationCountQuery(Builder $query, Builder $parent)

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

Parameters

Builder $query
Builder $parent

Return Value

Builder
END_OF_DOCUMENT_MARKER

Builder getRelationQuery(Builder $query, Builder $parent, array|mixed $columns = ['*'])

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

Параметры

Builder $query
Builder $parent
array|mixed $columns

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

Builder

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed

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

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

Параметры

array $models
string $key

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

array

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Model getParent()

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

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

Model

string getQualifiedParentKeyName()

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

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

string

Model getRelated()

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

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

Model

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

string wrap(string $value)

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

Параметры

string $value

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

string

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

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

Параметры

array $map
bool $merge

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

array

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

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

Параметры

array $models

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

array|null

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

void __clone()

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

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

void

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

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

Параметры

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

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

BelongsToMany

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

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

Параметры

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

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

BelongsToMany

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

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

Параметры

string $column
string $operator
mixed $value

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

BelongsToMany

BelongsToMany orWherePivotIn(string $column, mixed $values)

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

Параметры

string $column
mixed $values

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

BelongsToMany

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

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

Параметры

массив $columns

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

смешанный

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

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

Параметры

массив $columns

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

Модель|СвязьMany-to-Many

Исключения

ИсключениеОтсутствияМодели

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

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

Параметры

массив $columns

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

Коллекция

СтраничныйОтображательСРазмеромСтраницы paginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Получить страничный отображатель для оператора "select".

Параметры

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

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

СтраничныйОтображательСРазмеромСтраницы

СтраничныйОтображатель simplePaginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

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

Параметры

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

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

СтраничныйОтображатель

булево chunk(int $count, callable $callback)

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

Параметры

int $count
вызываемый объект $callback

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

булево

защищённый пустое hydratePivotRelation(array $models)

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

Параметры

массив $models

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

пустое

защищённый массив cleanPivotAttributes(Модель $model)

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

Параметры

Модель $model

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

массив

Построитель getRelationQueryForSelfJoin(Построитель $query, Построитель $parent, array|mixed $columns = ['*'])

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

Параметры

Построитель $query
Построитель $parent
массив|смешанный $columns

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

Построитель

строка getRelationCountHash()

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

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

строка

защищённый СвязьMany-to-Many getSelectColumns(array $columns = ['*'])

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

Параметры

массив $columns

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

СвязьMany-to-Many

защищённый массив getAliasedPivotColumns()

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

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

массив

защищённый булево hasPivotColumn(string $column)

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

Параметры

строка $column

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

булево

защищённый $this setJoin(Построитель|null $query = null)

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

Параметры

Построитель|null $query

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

$this

защищённый $this setWhere()

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

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

$this

защищённый массив buildDictionary(Коллекция $results)

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

Параметры

Коллекция $results

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

массив

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

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

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

Коллекция

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

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

Параметры

Модель $model
array $joining
bool $touch

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

Модель

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

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

Параметры

Коллекция|array $models
array $joinings

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

array

Модель|Коллекция|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

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

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

Исключения

ИсключениеНеНайденаМодель

Коллекция|Модель 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

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

Модель

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

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

Параметры

array $attributes
array $joining
bool $touch

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

Модель

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

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

Параметры

array $records
array $joinings

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

array

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

Включает/выключает модель (или модели) из родительской.

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

Параметры

mixed $ids
bool $touch

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

array

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

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

Параметры

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

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

array

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

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

Параметры

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

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

array

protected array formatRecordsList(array $records)

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

Параметры

array $records

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

array

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

Присоединить все идентификаторы, которых нет в текущем массиве.

Parameters

array $records
array $current
bool $touch

Return Value

array

protected array castKeys(array $keys)

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

Parameters

array $keys

Return Value

array

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

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

Parameters

mixed $id
array $attributes
bool $touch

Return Value

int

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

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

Parameters

mixed $id
array $attributes
bool $touch

Return Value

void

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

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

Parameters

array $ids
array $attributes

Return Value

array

protected array attacher(int $key, mixed $value, array $attributes, bool $timed)

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

Parameters

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

Return Value

array

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

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

Parameters

mixed $key
mixed $value
array $attributes

Return Value

array

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

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

Parameters

int $id
bool $timed

Return Value

array

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

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

Parameters

array $record
bool $exists

Return Value

array

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

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

Parameters

mixed $ids
bool $touch

Return Value

int

void touchIfTouching()

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

Return Value

void

protected bool touchingParent()

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

Return Value

bool

protected string guessInverseRelation()

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

Return Value

string

protected Builder newPivotQuery()

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

Return Value

Builder

Builder newPivotStatement()

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

Return Value

Builder

Builder newPivotStatementForId(mixed $id)

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

Parameters

mixed $id

Return Value

Builder

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

$this withPivot(array|mixed $columns)

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

Parameters

array|mixed $columns

Return Value

$this

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

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

Parameters

mixed $createdAt
mixed $updatedAt

Return Value

BelongsToMany

string getRelatedFreshUpdate()

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

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

string

string getHasCompareKey()

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

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

string

string getForeignKey()

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

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

string

string getOtherKey()

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

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

string

string getTable()

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

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

string

string getRelationName()

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

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

string

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

Spec-Zone.ru

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