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