MorphOne
class MorphOne extends MorphOneOrMany (View source)
Свойства
| SupportsDefaultModels | |
| ForwardsCalls | |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | from Macroable |
| protected Builder | $query | Экземпляр Eloquent query builder. | from Relation |
| protected Model | $parent | Экземпляр родительской модели. | from Relation |
| protected Model | $related | Экземпляр связанной модели. | from Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | from Relation |
| static array | $morphMap | Массив для сопоставления имен классов с их именами morph в базе данных. | from Relation |
| protected string | $foreignKey | Внешний ключ родительской модели. | from HasOneOrMany |
| protected string | $localKey | Локальный ключ родительской модели. | from HasOneOrMany |
| static protected int | $selfJoinCount | Количество самосоединений. | from HasOneOrMany |
| protected string | $morphType | Тип внешнего ключа для связи. | from MorphOneOrMany |
| protected string | $morphClass | Имя класса родительской модели. | from MorphOneOrMany |
| protected Closure|array|bool | $withDefault | Указывает, нужно ли использовать экземпляр модели по умолчанию. | from SupportsDefaultModels |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters) Перенаправить вызов метода на указанный объект. | from ForwardsCalls |
| static void | throwBadMethodCallException(string $method) Выбросить исключение о неправильном вызове метода для указанного метода. | from ForwardsCalls |
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательский макрос. | from Macroable |
| static void | mixin(object $mixin, bool $replace = true) Смешать другой объект в класс. | from Macroable |
| static bool | hasMacro(string $name) Проверяет, зарегистрирован ли макрос. | from Macroable |
| static mixed | __callStatic(string $method, array $parameters) Динамически обрабатывает вызовы класса. | from Macroable |
| mixed | __call(string $method, array $parameters) Динамически обрабатывает вызовы класса. | from Macroable |
| void | __construct(Builder $query, Model $parent, string $type, string $id, string $localKey) Создать новый экземпляр отношения morph one or many. | from MorphOneOrMany |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов с отключенными ограничениями в отношении. | from Relation |
| 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 |
| Collection | get(array $columns = ['*']) Выполнить запрос как инструкцию "select". | from Relation |
| void | touch() Затронуть все связанные модели для отношения. | from Relation |
| int | rawUpdate(array $attributes = []) Выполнить необработанное обновление для базового запроса. | from Relation |
| Builder | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery) Добавить ограничения для запроса подсчета отношений. | from Relation |
| Builder | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Получить запрос отношения. | from MorphOneOrMany |
| 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() Получить имя столбца "created at". | from Relation |
| string | updatedAt() Получить имя столбца "updated at". | from Relation |
| string | relatedUpdatedAt() Получить имя столбца "updated at" связанной модели. | from Relation |
| строка | whereInMethod(Модель $model, строка $key) Получить имя метода "where in" для ленивой загрузки. | из Отношения |
| статический массив | morphMap(массив $map = null, bool $merge = true) Установить или получить карту morph для полиморфных отношений. | из Отношения |
| статический массив|null | buildMorphMapFromModels(массив $models = null) Создает таблично-индексированный массив из имен классов моделей. | из Отношения |
| статическая строка|null | getMorphedModel(строка $alias) Получить модель, связанную с пользовательским полиморфным типом. | из Отношения |
| пустое значение | __clone() Принудительно клонировать базовый строитель запросов при клонировании. | из Отношения |
| Модель | make(массив $attributes = []) Создать и вернуть незасохранённую экземпляр связанной модели. | из HasOneOrMany |
| массив | matchOne(массив $models, Коллекция $results, строка $relation) Сопоставить загруженные результаты с их единственными родительскими элементами. | из HasOneOrMany |
| массив | matchMany(массив $models, Коллекция $results, строка $relation) Сопоставить загруженные результаты с их многими родительскими элементами. | из HasOneOrMany |
| массив | matchOneOrMany(массив $models, Коллекция $results, строка $relation, строка $type) Сопоставить загруженные результаты с их многими родительскими элементами. | из HasOneOrMany |
| смешанный тип | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение отношения по типу один или много. | из HasOneOrMany |
| массив | buildDictionary(Коллекция $results) Создать словарь модели, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| Коллекция|Модель | findOrNew(смешанный тип $id, массив $columns = ['*']) Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели. | из HasOneOrMany |
| Модель | firstOrNew(массив $attributes, массив $values = []) Получить первую связанную запись, соответствующую атрибутам, или создать её экземпляр. | из HasOneOrMany |
| Модель | firstOrCreate(массив $attributes, массив $values = []) Получить первую связанную запись, соответствующую атрибутам, или создать её. | из HasOneOrMany |
| Модель | updateOrCreate(массив $attributes, массив $values = []) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | из HasOneOrMany |
| Модель|ложь | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | из HasOneOrMany |
| итерируемый объект | saveMany(итерируемый объект $models) Прикрепить коллекцию моделей к родительскому экземпляру. | из HasOneOrMany |
| Модель | create(массив $attributes = []) Создать новый экземпляр связанной модели. | из HasOneOrMany |
| Коллекция | createMany(массив $records) Создать коллекцию новых экземпляров связанной модели. | из HasOneOrMany |
| пустое значение | setForeignAttributesForCreate(Модель $model) Установить внешний идентификатор и тип для создания связанной модели. | из MorphOneOrMany |
| Строитель | getRelationExistenceQueryForSelfRelation(Строитель $query, Строитель $parentQuery, массив|смешанный тип $columns = ['*']) Добавить ограничения для запроса отношения в той же таблице. | из HasOneOrMany |
| строка | getRelationCountHash() Получить хеш таблицы соединения отношений. | из HasOneOrMany |
| строка | getExistenceCompareKey() Получить ключ для сравнения с родительским ключом в запросе "has". | из HasOneOrMany |
| смешанный тип | getParentKey() Получить значение ключа родительского локального ключа. | из HasOneOrMany |
| строка | getForeignKeyName() Получить простой внешний ключ. | из HasOneOrMany |
| строка | getQualifiedForeignKeyName() Получить внешний ключ для отношения. | из HasOneOrMany |
| строка | getLocalKeyName() Получить локальный ключ для отношения. | из HasOneOrMany |
| строка | getQualifiedMorphType() Получить имя внешнего ключа "type". | из MorphOneOrMany |
| строка | getMorphType() Получить простое имя морф-типа без таблицы. | из MorphOneOrMany |
| строка | getMorphClass() Получить имя класса родительской модели. | из MorphOneOrMany |
| Модель | newRelatedInstanceFor(Модель $parent) Создать новый связанный экземпляр для заданной модели. | |
| $this | withDefault(Closure|массив|bool $callback = true) Возвратить новый экземпляр модели в случае, если отношение отсутствует. | из SupportsDefaultModels |
| Модель|null | getDefaultFor(Модель $parent) Получить значение по умолчанию для этого отношения. | из SupportsDefaultModels |
Детали
protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)
Перенаправить вызов метода заданному объекту.
static protected пустое значение throwBadMethodCallException(строка $method)
Выбросить исключение вызова недопустимого метода для указанного метода.
static пустое значение macro(строка $name, объект|вызов $macro)
Зарегистрировать пользовательский макрос.
static пустое значение mixin(объект $mixin, bool $replace = true)
Смешать другой объект в класс.
static bool hasMacro(строка $name)
Проверяет, зарегистрирован ли макрос.
static смешанный __callStatic(строка $method, массив $parameters)
Динамически обработать вызовы класса.
смешанный __call(строка $method, массив $parameters)
Динамически обработать вызовы класса.
пустое значение __construct(Билдер $query, Модель $parent, строка $type, строка $id, строка $localKey)
Создать новый экземпляр отношения morph one or many.
static смешанный noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями в отношении.
пустое значение addConstraints()
Установить базовые ограничения в запросе отношения.
пустое значение addEagerConstraints(массив $models)
Установить ограничения для ленивой загрузки отношения.
массив initRelation(массив $models, строка $relation)
Инициализировать отношение на наборе моделей.
array match(array $models, Collection $results, string $relation)
Сопоставить загруженные с нетерпением результаты с их родительскими элементами.
mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для нетерпеливой загрузки.
Collection get(array $columns = ['*'])
Выполнить запрос в качестве оператора «выбрать».
void touch()
Обновить все связанные модели для отношения.
int rawUpdate(array $attributes = [])
Выполнить сырое обновление по отношению к базовому запросу.
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета отношений.
Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Получить запрос отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый создатель запроса, управляющий создателем запросов Eloquent.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа.
Model getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца «создано в».
string updatedAt()
Получить имя столбца «обновлено в».
string relatedUpdatedAt()
Получить имя столбца «обновлено в» связанной модели.
protected string whereInMethod(Model $model, string $key)
Получить имя метода «где в» для нетерпеливой загрузки.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить карту морфирования для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создает таблично-индексированный массив из имен классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
Модель make(array $attributes = [])
Создать и вернуть несохранённую запись связанной модели.
array matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственными родительскими записями.
array matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их множественными родительскими записями.
protected array matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты с их множественными родительскими записями.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу один-к-одному или один-ко-многим.
protected array buildDictionary(Коллекция $results)
Построить словарь модели, индексированный по внешнему ключу связи.
Коллекция|Модель findOrNew(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр связанной модели.
Модель firstOrNew(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Модель firstOrCreate(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
iterable saveMany(iterable $models)
Прикрепить коллекцию моделей к родительскому экземпляру.
Модель create(array $attributes = [])
Создать новый экземпляр связанной модели.
Коллекция createMany(array $records)
Создать коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор и тип для создания связанной модели.
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на том же столе.
string getRelationCountHash()
Получить хэш таблицы объединения отношения.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
mixed getParentKey()
Получить значение ключа родительского локального ключа.
string getForeignKeyName()
Получить простой внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для отношения.
string getLocalKeyName()
Получить локальный ключ для отношения.
string getQualifiedMorphType()
Получить имя внешнего ключа "тип".
string getMorphType()
Получить имя простого морф типа без таблицы.
string getMorphClass()
Получить имя класса родительской модели.
Model newRelatedInstanceFor(Model $parent)
Создать новый экземпляр связанной сущности для заданной модели.
$this withDefault(Closure|array|bool $callback = true)
Возвратить новый экземпляр модели в случае отсутствия отношения.
protected Model|null getDefaultFor(Model $parent)
Получить значение по умолчанию для этого отношения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.8/Illuminate/Database/Eloquent/Relations/MorphOne.html