Spec-Zone.ru › Laravel 4.2

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
protected string $table Промежуточная таблица для отношения.
protected string $foreignKey Внешний ключ родительской модели.
protected string $otherKey Связанный ключ отношения.
protected string $relationName Имя отношения.
protected array $pivotColumns Столбцы промежуточной таблицы для получения.
protected array $pivotWheres Любые ограничения для промежуточной таблицы.

Методы

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

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

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

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

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

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

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

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

из Relation
string updatedAt()

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

из Relation
string relatedUpdatedAt()

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

из Relation
string wrap(string $value)

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

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

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

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

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

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

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

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

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

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

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

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

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

Paginator paginate(int $perPage = null, array $columns = array('*'))

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

void hydratePivotRelation(array $models)

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

array cleanPivotAttributes(Model $model)

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

Builder getRelationCountQueryForSelfJoin(Builder $query, Builder $parent)

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

string getRelationCountHash()

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

BelongsToMany getSelectColumns(array $columns = array('*'))

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

массив getAliasedPivotColumns()

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

bool hasPivotColumn(string $column)

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

$this setJoin(Builder|null $query = null)

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

$this setWhere()

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

массив buildDictionary(Collection $results)

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

массив getRelatedIds()

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

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

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

массив saveMany(array $models, array $joinings = array())

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

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

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

Модель createMany(array $records, array $joinings = array())

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

массив sync(array $ids, bool $detaching = true)

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

массив formatSyncList(array $records)

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

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

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

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

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

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

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

массив createAttachRecords(array $ids, array $attributes)

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

массив attacher(int $key, mixed $value, array $attributes, bool $timed)

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

массив getAttachId(mixed $key, mixed $value, array $attributes)

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

массив createAttachRecord(int $id, bool $timed)

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

массив setTimestampsOnAttach(array $record, bool $exists = false)

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

int detach(int|array $ids = array(), bool $touch = true)

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

void touchIfTouching()

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

bool touchingParent()

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

строка guessInverseRelation()

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

Builder newPivotQuery()

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

Builder newPivotStatement()

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

Builder newPivotStatementForId(mixed $id)

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

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

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

Pivot newExistingPivot(array $attributes = array())

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

$this withPivot(mixed $columns)

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

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

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

строка getRelatedFreshUpdate()

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

строка getHasCompareKey()

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

строка getForeignKey()

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

строка getOtherKey()

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

строка getTable()

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

строка getRelationName()

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

Подробности

void __construct(Builder $query, Модель $parent, string $table, string $foreignKey, string $otherKey, string $relationName = null)

Создать новое отношение has many.

Параметры

Builder $query
Модель $parent
string $table
string $foreignKey
string $otherKey
string $relationName

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

void

void addConstraints()

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

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

void
END_OF_DOCUMENT_MARKER

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

void touch()

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

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

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

void

int rawUpdate(array $attributes = array())

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

Параметры

array $attributes

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

int

Builder getRelationCountQuery(Builder $query, Builder $parent)

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

Параметры

Builder $query
Builder $parent

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

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

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

string wrap(string $value)

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

Параметры

string $value

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

string

mixed __call(string $method, array $parameters)

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

Параметры

string $method
array $parameters

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

mixed

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

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

Параметры

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

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

BelongsToMany
END_OF_DOCUMENT_MARKER

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

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

Parameters

string $column
string $operator
mixed $value

Return Value

BelongsToMany

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

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

Parameters

array $columns

Return Value

mixed

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

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

Parameters

array $columns

Return Value

Model|BelongsToMany

Exceptions

ModelNotFoundException

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

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

Parameters

array $columns

Return Value

Collection

Paginator paginate(int $perPage = null, array $columns = array('*'))

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

Parameters

int $perPage
array $columns

Return Value

Paginator

protected void hydratePivotRelation(array $models)

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

Parameters

array $models

Return Value

void

protected array cleanPivotAttributes(Model $model)

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

Parameters

Model $model

Return Value

array

Builder getRelationCountQueryForSelfJoin(Builder $query, Builder $parent)

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

Parameters

Builder $query
Builder $parent

Return Value

Builder

string getRelationCountHash()

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

Return Value

string

protected BelongsToMany getSelectColumns(array $columns = array('*'))

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

Parameters

array $columns

Return Value

BelongsToMany

protected array getAliasedPivotColumns()

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

Return Value

array

protected bool hasPivotColumn(string $column)

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

Parameters

string $column

Return Value

bool

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

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

Parameters

Builder|null $query

Return Value

$this

protected $this setWhere()

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

Return Value

$this

protected array buildDictionary(Collection $results)

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

Parameters

Collection $results

Return Value

array

array getRelatedIds()

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

Return Value

array

Model save(Model $model, array $joining = array(), bool $touch = true)

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

Parameters

Model $model
array $joining
bool $touch

Return Value

Model

array saveMany(array $models, array $joinings = array())

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

Parameters

array $models
array $joinings

Return Value

array

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

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

Параметры

array $attributes
array $joining
bool $touch

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

Модель

Модель createMany(array $records, array $joinings = array())

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

Параметры

array $records
array $joinings

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

Модель

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

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

Параметры

array $ids
bool $detaching

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

array

protected array formatSyncList(array $records)

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

Параметры

array $records

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

array

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

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

Параметры

array $records
array $current
bool $touch

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

array

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

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

Параметры

mixed $id
array $attributes
bool $touch

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

void

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

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

Параметры

mixed $id
array $attributes
bool $touch

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

void

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

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

Параметры

array $ids
array $attributes

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

array

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

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

Параметры

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

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

array

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

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

Параметры

mixed $key
mixed $value
array $attributes

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

array

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

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

Параметры

int $id
bool $timed

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

array

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

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

Параметры

array $record
bool $exists

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

array

int detach(int|array $ids = array(), bool $touch = true)

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

Параметры

int|array $ids
bool $touch

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

int

void touchIfTouching()

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

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

void

protected bool touchingParent()

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

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

bool

protected string guessInverseRelation()

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

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

string

protected Билдер newPivotQuery()

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

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

Билдер

Билдер newPivotStatement()

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

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

Билдер

Билдер newPivotStatementForId(mixed $id)

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

Параметры

mixed $id

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

Билдер

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

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

Параметры

array $attributes
bool $exists

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

Pivot
END_OF_DOCUMENT_MARKER

Pivot newExistingPivot(array $attributes = array())

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

Параметры

array $attributes

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

Pivot

$this withPivot(mixed $columns)

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

Параметры

mixed $columns

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

$this

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

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

Параметры

mixed $createdAt
mixed $updatedAt

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

BelongsToMany

string getRelatedFreshUpdate()

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

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

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/4.2/Illuminate/Database/Eloquent/Relations/BelongsToMany.html

Spec-Zone.ru

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