Spec-Zone.ru › Laravel 4.2

MorphToMany

class MorphToMany extends BelongsToMany (View source)

Свойства

protected Builder $query Экземпляр билдера запросов Eloquent. из Relation
protected Model $parent Экземпляр родительской модели. из Relation
protected Model $related Экземпляр связанной модели. из Relation
static protected bool $constraints Указывает, добавляет ли отношение ограничения. из Relation
protected string $table Промежуточная таблица для отношения. из BelongsToMany
protected string $foreignKey Внешний ключ родительской модели. из BelongsToMany
protected string $otherKey Связанный ключ отношения. из BelongsToMany
protected string $relationName Название отношения. из BelongsToMany
protected array $pivotColumns Столбцы промежуточной таблицы для извлечения. из BelongsToMany
protected array $pivotWheres Любые ограничения для промежуточной таблицы. из BelongsToMany
protected string $morphType Тип полиморфного отношения.
protected string $morphClass Имя класса ограничения типа полиморфизма.
protected bool $inverse Указывает, подключаем ли мы обратное отношение.

Методы

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

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

void addConstraints()

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

из BelongsToMany
void addEagerConstraints(array $models)

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

array initRelation(array $models, string $relation)

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

из BelongsToMany
array match(array $models, Collection $results, string $relation)

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

из BelongsToMany
mixed getResults()

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

из BelongsToMany
Collection getEager()

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

из Relation
void touch()

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

из BelongsToMany
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
BelongsToMany orWherePivot(string $column, string $operator = null, mixed $value = null)

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

из BelongsToMany
mixed first(array $columns = array('*'))

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

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

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

из BelongsToMany
Collection get(array $columns = array('*'))

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

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

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

из BelongsToMany
void hydratePivotRelation(array $models)

Гидратировать отношение к промежуточной таблице для моделей.

from BelongsToMany
array cleanPivotAttributes(Model $model)

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

from BelongsToMany
Builder getRelationCountQueryForSelfJoin(Builder $query, Builder $parent)

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

from BelongsToMany
string getRelationCountHash()

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

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

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

from BelongsToMany
array getAliasedPivotColumns()

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

from BelongsToMany
bool hasPivotColumn(string $column)

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

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

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

from BelongsToMany
$this setWhere()

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

array buildDictionary(Collection $results)

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

from BelongsToMany
array getRelatedIds()

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

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

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

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

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

from BelongsToMany
Model create(array $attributes, array $joining = array(), bool $touch = true)

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

from BelongsToMany
Model createMany(array $records, array $joinings = array())

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

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

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

from BelongsToMany
array formatSyncList(array $records)

Отформатировать список синхронизации, индексированный по ID.

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

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

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

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

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

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

from BelongsToMany
array createAttachRecords(array $ids, array $attributes)

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

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

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

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

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

from BelongsToMany
array createAttachRecord(int $id, bool $timed)

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

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

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

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

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

from BelongsToMany
void touchIfTouching()

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

from BelongsToMany
bool touchingParent()

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

from BelongsToMany
строка guessInverseRelation()

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

из BelongsToMany
Builder newPivotQuery()

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

Builder newPivotStatement()

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

из BelongsToMany
Builder newPivotStatementForId(mixed $id)

Получение нового оператора связей для заданного ID "другого" объекта.

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

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

Pivot newExistingPivot(array $attributes = array())

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

из BelongsToMany
$this withPivot(mixed $columns)

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

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

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

из BelongsToMany
строка getRelatedFreshUpdate()

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

из BelongsToMany
строка getHasCompareKey()

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

из BelongsToMany
строка getForeignKey()

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

из BelongsToMany
строка getOtherKey()

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

из BelongsToMany
строка getTable()

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

из BelongsToMany
строка getRelationName()

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

из BelongsToMany
строка getMorphType()

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

строка getMorphClass()

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

Подробности

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

Создание нового отношения "многие ко многим".

Параметры

Builder $query
Model $parent
строка $name
строка $table
строка $foreignKey
строка $otherKey
строка $relationName
логическое значение $inverse

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

void

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

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

Параметры

массив $models

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

void

массив initRelation(array $models, string $relation)

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

Параметры

массив $models
строка $relation

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

массив

массив match(array $models, Collection $results, string $relation)

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

Параметры

массив $models
Collection $results
строка $relation

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

массив

смешанный тип getResults()

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

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

смешанный тип

Collection getEager()

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

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

Collection

void touch()

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

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

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

void

целое число rawUpdate(array $attributes = array())

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

Параметры

массив $attributes

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

целое число

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

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

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

Параметры

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

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

BelongsToMany

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

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

Параметры

string $column
string $operator
mixed $value

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

BelongsToMany

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

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

Параметры

array $columns

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

mixed

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

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

Параметры

array $columns

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

Модель|BelongsToMany

Исключения

ModelNotFoundException

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

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

Параметры

array $columns

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

Коллекция

Пагинатор paginate(int $perPage = null, array $columns = array('*'))

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

Параметры

int $perPage
array $columns

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

Пагинатор

protected void hydratePivotRelation(array $models)

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

Параметры

array $models

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

void

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

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

Параметры

Модель $model

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

array

Билдер getRelationCountQueryForSelfJoin(Билдер $query, Билдер $parent)

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

Параметры

Билдер $query
Билдер $parent

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

Билдер

string getRelationCountHash()

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

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

string

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

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

Параметры

array $columns

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

BelongsToMany

protected array getAliasedPivotColumns()

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

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

array

protected bool hasPivotColumn(string $column)

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

Параметры

string $column

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

bool

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

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

Параметры

Билдер|null $query

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

$this

protected $this setWhere()

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

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

$this

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

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

Параметры

Коллекция $results

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

array

array getRelatedIds()

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

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

array

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

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

Параметры

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

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

Модель

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

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

Параметры

array $models
array $joinings

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

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)

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

Параметры

array $ids
bool $detaching

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

array

protected array formatSyncList(array $records)

Форматировать список синхронизации, индексируя его по ID.

Параметры

array $records

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

array

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

Привязать все ID, которые отсутствуют в текущем массиве.

Параметры

array $records
array $current
bool $touch

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

array

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

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

Параметры

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)

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

Параметры

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)

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

Параметры

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

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

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

Builder

Builder newPivotStatement()

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

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

Builder

Builder newPivotStatementForId(mixed $id)

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

Параметры

mixed $id

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

Builder

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

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

Параметры

array $attributes
bool $exists

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

Pivot

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

string getMorphType()

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

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

string

string getMorphClass()

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

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

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/MorphToMany.html

Spec-Zone.ru

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