MorphTo
class MorphTo extends BelongsTo (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 | $foreignKey | Внешний ключ родительской модели. | из BelongsTo |
| protected string | $otherKey | Связанный ключ в родительской модели. | из BelongsTo |
| protected string | $relation | Название отношения. | из BelongsTo |
| protected string | $morphType | Тип полиморфного отношения. | |
| protected Collection | $models | Модели, отношения которых загружаются с помощью eager loading. | |
| protected array | $dictionary | Все модели, индексированные по ID. | |
| protected | $withTrashed |
Методы
| void | __construct(Builder $query, Model $parent, string $foreignKey, string $otherKey, string $type, string $relation) Создать новый экземпляр связи «morph to». | |
| void | addConstraints() Установить базовые ограничения для запроса по связи. | from BelongsTo |
| void | addEagerConstraints(array $models) Установить ограничения для жадного загрузки связи. | |
| array | initRelation(array $models, string $relation) Инициализировать связь для набора моделей. | from BelongsTo |
| array | match(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их родительскими объектами. | |
| mixed | getResults() Получить результаты связи. | |
| Collection | getEager() Получить результаты связи. | |
| void | touch() Обновить метку времени для всех связанных моделей по отношению. | from Relation |
| int | rawUpdate(array $attributes = []) Выполнить прямое обновление базового запроса. | from Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчёта связи. | from BelongsTo |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений для связи. | from Relation |
| array | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | from Relation |
| Builder | getQuery() Получить базовый запрос для связи. | from Relation |
| Builder | getBaseQuery() Получить базовый билдер запроса, управляющий билдером Eloquent. | from Relation |
| Model | getParent() Получить родительскую модель связи. | from Relation |
| string | getQualifiedParentKeyName() Получить полностью квалифицированное имя родительского ключа. | from Relation |
| Model | getRelated() Получить связанную модель связи. | from Relation |
| string | createdAt() Получить имя колонки «created at». | from Relation |
| string | updatedAt() Получить имя колонки «updated at». | from Relation |
| string | relatedUpdatedAt() Получить имя колонки «updated at» связанной модели. | from Relation |
| string | wrap(string $value) Оборачивание значения с помощью грамматики родительского запроса. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить карту morph для полиморфных отношений. | from Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Строит таблично-ключевой массив из имён классов моделей. | from Relation |
| mixed | __call(string $method, array $parameters) Обработка динамических вызовов метода для связи. | from Relation |
| void | __clone() Вынужденное клонирование билдера базового запроса при клонировании. | from Relation |
| Builder | getRelationCountQueryForSelfRelation(Builder $query, Builder $parent) Добавить ограничения для запроса подсчёта связи на одной и той же таблице. | from BelongsTo |
| string | getRelationCountHash() Получить хэш таблицы связи. | from BelongsTo |
| array | getEagerModelKeys(array $models) Собрать ключи из массива связанных моделей. | from BelongsTo |
| Model | associate(Model|int $model) Связать экземпляр модели с указанным родителем. | |
| Model | dissociate() Отвязать ранее связанную модель от данного родителя. | |
| mixed | update(array $attributes) Обновить родительскую модель в отношении. | from BelongsTo |
| string | getForeignKey() Получить внешний ключ связи. | из BelongsTo |
| string | getQualifiedForeignKey() Получить полностью квалифицированный внешний ключ связи. | из BelongsTo |
| string | getOtherKey() Получить связанный ключ связи. | из BelongsTo |
| string | getQualifiedOtherKeyName() Получить полностью квалифицированный связанный ключ связи. | из BelongsTo |
| void | buildDictionary(Collection $models) Создать словарь с моделями. | |
| void | matchToMorphParents(string $type, Collection $results) Сопоставить результаты для данного типа с их родителями. | |
| Collection | getResultsByType(string $type) Получить все результаты отношений для типа. | |
| array | gatherKeysByType(string $type) Собрать все внешние ключи для данного типа. | |
| Model | createModelByType(string $type) Создать новый экземпляр модели по типу. | |
| string | getMorphType() Получить имя внешнего ключа "тип". | |
| array | getDictionary() Получить словарь, используемый отношением. | |
| $this | withTrashed() Загрузить мягко удалённые экземпляры модели с запросом. | |
| Builder | useWithTrashed(Builder $query) Возвратить удалённые модели с запросом, если необходимо. |
Подробности
void __construct(Builder $query, Model $parent, string $foreignKey, string $otherKey, string $type, string $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()
Получить результаты отношения.
Вызывается через метод жадной загрузки Eloquent билдера запросов.
void touch()
Обновить время последнего изменения всех связанных моделей для отношения.
int rawUpdate(array $attributes = [])
Выполнить сырое обновление по основному запросу.
Builder getRelationCountQuery(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчета отношения.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Производитель getQuery()
Получить базовое запросы для связи.
Производитель getBaseQuery()
Получить базовый конструктор запроса, управляющий конструктором Eloquent.
Модель getParent()
Получить родительскую модель связи.
строка getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Модель getRelated()
Получить связанную модель связи.
строка createdAt()
Получить имя столбца "создано в".
строка updatedAt()
Получить имя столбца "обновлено в".
строка relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели.
строка wrap(строка $value)
Оборачивает заданное значение с помощью грамматики родительского запроса.
статический массив morphMap(массив $map = null, bool $merge = true)
Установить или получить отображение морфинг для полиморфных связей.
статический защищенный массив|null buildMorphMapFromModels(массив $models = null)
Создает таблично-индексированный массив из имен классов моделей.
смешанный __call(строка $method, массив $parameters)
Обработка вызовов динамических методов для связи.
пусто __clone()
Принудительное клонирование базового конструктора запроса при клонировании.
Производитель getRelationCountQueryForSelfRelation(Производитель $query, Производитель $parent)
Добавить ограничения для запроса подсчета связи на одной и той же таблице.
строка getRelationCountHash()
Получить хеш таблицы соединения связи.
защищенный массив getEagerModelKeys(массив $models)
Собрать ключи из массива связанных моделей.
Модель dissociate()
Отсоединить ранее связанную модель от указанного родителя.
смешанный update(массив $attributes)
Обновить родительскую модель в связи.
строка getForeignKey()
Получить внешний ключ связи.
строка getQualifiedForeignKey()
Получить полностью квалифицированный внешний ключ связи.
строка getOtherKey()
Получить связанный ключ связи.
строка getQualifiedOtherKeyName()
Получить полностью квалифицированный связанный ключ связи.
protected void buildDictionary(Collection $models)
Создать словарь с моделями.
protected void matchToMorphParents(string $type, Collection $results)
Сопоставить результаты для заданного типа с их родителями.
protected Collection getResultsByType(string $type)
Получить все результаты связи для типа.
protected array gatherKeysByType(string $type)
Собрать все внешние ключи для данного типа.
Model createModelByType(string $type)
Создать новый экземпляр модели по типу.
string getMorphType()
Получить имя внешнего ключа "тип".
array getDictionary()
Получить словарь, используемый для связи.
$this withTrashed()
Получить мягко удалённые экземпляры модели с запросом.
protected Builder useWithTrashed(Builder $query)
Возвращает удалённые модели с запросом, если это указано.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.1/Illuminate/Database/Eloquent/Relations/MorphTo.html