MorphOneOrMany
class MorphOneOrMany extends HasOneOrMany (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 | Внешний ключ родительской модели. | из HasOneOrMany |
| protected string | $localKey | Локальный ключ родительской модели. | из HasOneOrMany |
| protected string | $morphType | Тип внешнего ключа для связи. | |
| protected string | $morphClass | Имя класса родительской модели. |
Методы
| void | __construct(Builder $query, Model $parent, string $type, string $id, string $localKey) Создать новый экземпляр связи «один ко многим» или «многие ко многим». | |
| void | addConstraints() Установить базовые ограничения для запроса отношения. | |
| void | addEagerConstraints(array $models) Установить ограничения для жадной загрузки отношения. | |
| array | initRelation(array $models, string $relation) Инициализировать отношение для набора моделей. | from Relation |
| array | match(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их родительскими объектами. | from Relation |
| mixed | getResults() Получить результаты отношения. | from Relation |
| Collection | getEager() Получить отношение для жадной загрузки. | from Relation |
| void | touch() Обновить метку времени для всех связанных моделей в отношении. | from Relation |
| int | rawUpdate(array $attributes = []) Выполнить необработанное обновление базового запроса. | from Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Получить запрос для подсчета отношения. | |
| 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 HasOneOrMany |
| Model | getRelated() Получить связанную модель отношения. | from Relation |
| string | createdAt() Получить имя столбца «дата создания». | from Relation |
| string | updatedAt() Получить имя столбца «дата изменения». | from Relation |
| string | relatedUpdatedAt() Получить имя столбца «дата изменения» связанной модели. | from Relation |
| string | wrap(string $value) Обернуть заданное значение с помощью синтаксиса базового запроса. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить карту морфинга для полиморфных отношений. | 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 HasOneOrMany |
| string | getRelationCountHash() Получить хеш таблицы присоединения отношения. | from HasOneOrMany |
| array | matchOne(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их единственными родительскими объектами. | from HasOneOrMany |
| array | matchMany(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их множественными родительскими объектами. | from HasOneOrMany |
| массив | matchOneOrMany(массив $models, Collection $results, строка $relation, строка $type) Сопоставить загруженные с жадностью результаты с их многочисленными родителями. | из HasOneOrMany |
| смешанный | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение отношения по типу один-ко-многим. | из HasOneOrMany |
| массив | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| Модель|ложь | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | |
| Collection|массив | saveMany(Collection|массив $models) Прикрепить коллекцию моделей к экземпляру родителя. | из HasOneOrMany |
| Collection|Модель | findOrNew(смешанный $id, массив $columns = ['*']) Найти связанную модель по её первичному ключу или вернуть новый экземпляр связанной модели. | |
| Модель | firstOrNew(массив $attributes) Получить первую связанную запись модели, соответствующую атрибутам, или создать её экземпляр. | |
| Модель | firstOrCreate(массив $attributes) Получить первую связанную запись, соответствующую атрибутам, или создать её. | |
| Модель | updateOrCreate(массив $attributes, массив $values = []) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | |
| Модель | create(массив $attributes) Создать новый экземпляр связанной модели. | |
| массив | createMany(массив $records) Создать массив новых экземпляров связанной модели. | из HasOneOrMany |
| целое число | update(массив $attributes) Выполнить обновление всех связанных моделей. | из HasOneOrMany |
| строка | getHasCompareKey() Получить ключ для сравнения с ключом родителя в запросе "has". | из HasOneOrMany |
| строка | getForeignKey() Получить внешний ключ для отношения. | из HasOneOrMany |
| строка | getPlainForeignKey() Получить простой внешний ключ. | из HasOneOrMany |
| смешанный | getParentKey() Получить значение ключа родительского локального ключа. | из HasOneOrMany |
| пусто | setForeignAttributesForCreate(Модель $model) Установить внешний идентификатор и тип для создания связанной модели. | |
| строка | getMorphType() Получить имя внешнего ключа "тип". | |
| строка | getPlainMorphType() Получить простое имя типа морфинга без таблицы. | |
| строка | getMorphClass() Получить имя класса родительской модели. |
Подробности
пусто __construct(Builder $query, Модель $parent, строка $type, строка $id, строка $localKey)
Создать новый экземпляр отношения "один ко многим" с морфингом.
пусто addConstraints()
Установить базовые ограничения на запрос отношения.
пусто addEagerConstraints(массив $models)
Установить ограничения для жадной загрузки отношения.
абстрактный массив initRelation(массив $models, строка $relation)
Инициализировать отношение для набора моделей.
абстрактный массив match(массив $models, Collection $results, строка $relation)
Сопоставить результаты, загруженные с жадностью, с их родителями.
абстрактный смешанный getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для жадной загрузки.
void touch()
Коснитесь всех связанных моделей для отношения.
int rawUpdate(array $attributes = [])
Выполнить прямое обновление по базовому запросу.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями для отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить основной запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа.
Model getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца "created at".
string updatedAt()
Получить имя столбца "updated at".
string relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
string wrap(string $value)
Оборачивает заданное значение грамматикой родительского запроса.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить морф-отображение для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт таблично-индексированный массив из имён классов моделей.
mixed __call(string $method, array $parameters)
Обрабатывает вызовы динамических методов к отношению.
void __clone()
Принудительно клонировать базовый билдер запроса при клонировании.
Builder getRelationCountQueryForSelfRelation(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчёта отношения в одной таблице.
string getRelationCountHash()
Получить хеш таблицы соединения отношения.
array matchOne(array $models, Collection $results, string $relation)
Сопоставить загруженные результаты с их единственными родителями.
массив matchMany(массив $models, Коллекция $results, строка $relation)
Сопоставить загруженные результаты с их родителями во множественном числе.
protected массив matchOneOrMany(массив $models, Коллекция $results, строка $relation, строка $type)
Сопоставить загруженные результаты с их родителями во множественном числе.
protected смешанный тип getRelationValue(массив $dictionary, строка $key, строка $type)
Получить значение связи по типу один или много.
protected массив buildDictionary(Коллекция $results)
Создать словарь моделей, индексированный по внешнему ключу связи.
Коллекция|массив saveMany(Коллекция|массив $models)
Прикрепить коллекцию моделей к экземпляру родительской модели.
Коллекция|Модель findOrNew(смешанный тип $id, массив $columns = ['*'])
Найти связанную модель по ее первичному ключу или вернуть новый экземпляр связанной модели.
Модель firstOrNew(массив $attributes)
Получить первую связанную модель, соответствующую атрибутам, или создать ее экземпляр.
Модель firstOrCreate(массив $attributes)
Получить первую связанную запись, соответствующую атрибутам, или создать ее.
Модель updateOrCreate(массив $attributes, массив $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить ее значениями.
Модель create(массив $attributes)
Создать новый экземпляр связанной модели.
массив createMany(массив $records)
Создать массив новых экземпляров связанной модели.
целое число update(массив $attributes)
Выполнить обновление всех связанных моделей.
строка getHasCompareKey()
Получить ключ для сравнения с ключом родителя в запросе "has".
строка getForeignKey()
Получить внешний ключ для связи.
строка getPlainForeignKey()
Получить простой внешний ключ.
смешанный тип getParentKey()
Получить значение ключа родительского локального ключа.
protected пустое значение setForeignAttributesForCreate(Модель $model)
Установить внешний ID и тип для создания связанной модели.
строка getMorphType()
Получить имя внешнего ключа "type".
string getPlainMorphType()
Получить имя простого типа морфологии без таблицы.
string getMorphClass()
Получить имя класса родительской модели.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.1/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.html