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