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 |
| 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) Создать новый экземпляр отношения принадлежности. | |
| void | addConstraints() Установить базовые ограничения для запроса отношения. | из BelongsTo |
| void | addEagerConstraints(array $models) Установить ограничения для ленивой загрузки отношения. | |
| array | initRelation(array $models, string $relation) Инициализировать отношение для набора моделей. | из BelongsTo |
| array | match(array $models, Collection $results, string $relation) Сопоставить результаты ленивой загрузки с родительскими моделями. | |
| mixed | getResults() Получить результаты отношения. | из BelongsTo |
| Collection | getEager() Получить результаты отношения. | |
| void | touch() Обновить метки времени всех связанных моделей для отношения. | из Relation |
| int | rawUpdate(array $attributes = array()) Выполнить сырое обновление для базового запроса. | из Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчёта отношения. | из BelongsTo |
| 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 |
| array | getEagerModelKeys(array $models) Собрать ключи из массива связанных моделей. | из BelongsTo |
| Model | associate(Model $model) Связать экземпляр модели с заданным родителем. | |
| Model | dissociate() Отсоединить ранее связанную модель от данного родителя. | из BelongsTo |
| mixed | update(array $attributes) Обновить родительскую модель по отношению. | из 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() Получить имя внешнего ключа "type". | |
| 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 = array())
Выполнить прямое обновление с помощью основного запроса.
Builder getRelationCountQuery(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчета отношения.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить основной запрос для отношения.
Builder getBaseQuery()
Получить основной билдер запросов, управляющий Eloquent билдером.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя столбца "создано в".
строка updatedAt()
Получить имя столбца "обновлено в".
строка relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели.
строка wrap(строка $value)
Оборачивает заданное значение с помощью синтаксиса родительского запроса.
смешанный __call(строка $method, массив $parameters)
Обработка динамических вызовов методов для отношения.
защищено массив getEagerModelKeys(массив $models)
Сбор ключей из массива связанных моделей.
Модель dissociate()
Отсоединить ранее связанную модель от заданного родителя.
смешанный update(массив $attributes)
Обновить родительскую модель в отношении.
строка getForeignKey()
Получить внешний ключ отношения.
строка getQualifiedForeignKey()
Получить полностью квалифицированный внешний ключ отношения.
строка getOtherKey()
Получить связанный ключ отношения.
строка getQualifiedOtherKeyName()
Получить полностью квалифицированный связанный ключ отношения.
защищено пусто buildDictionary(Коллекция $models)
Создать словарь с моделями.
защищено пусто matchToMorphParents(строка $type, Коллекция $results)
Сопоставить результаты для заданного типа с их родителями.
защищено Коллекция getResultsByType(строка $type)
Получить все результаты отношения для типа.
защищено массив gatherKeysByType(строка $type)
Собрать все внешние ключи для заданного типа.
Модель createModelByType(строка $type)
Создать новый экземпляр модели по типу.
строка getMorphType()
Получить имя внешнего ключа "тип".
массив getDictionary()
Получить словарь, используемый отношением.
$this withTrashed()
Получить экземпляры моделей с удалёнными записями с помощью запроса
защищено Библиотека useWithTrashed(Библиотека $query)
Возвратить модели с удалёнными записями с помощью запроса, если это необходимо
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/4.2/Illuminate/Database/Eloquent/Relations/MorphTo.html