MorphOne
class MorphOne extends MorphOneOrMany (View source)
Свойства
| SupportsDefaultModels |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | from Macroable |
| protected Builder | $query | Экземпляр Eloquent-запросного билдера. | from Relation |
| protected Model | $parent | Экземпляр родительской модели. | from Relation |
| protected Model | $related | Экземпляр связанной модели. | from Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | from Relation |
| static protected array | $morphMap | Массив для сопоставления имен классов с их именами морфов в базе данных. | 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 |
Методы
| static void | macro(string $name, callable $macro) Зарегистрировать пользовательскую макрокоманду. | 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) Создание нового экземпляра связи "один ко многим" или "один к одному" для морфной связи. | 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 |
| 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 |
| Модель | make(array $attributes = []) Создать и вернуть несохранённую запись связанной модели. | из MorphOneOrMany |
| массив | matchOne(array $models, Коллекция $results, string $relation) Сопоставить загруженные с помощью eager loading результаты с их единственными родительскими записями. | из HasOneOrMany |
| массив | matchMany(array $models, Коллекция $results, string $relation) Сопоставить загруженные с помощью eager loading результаты со многими родительскими записями. | из HasOneOrMany |
| массив | matchOneOrMany(array $models, Коллекция $results, string $relation, string $type) Сопоставить загруженные с помощью eager loading результаты со многими родительскими записями. | из HasOneOrMany |
| смешанный тип | getRelationValue(array $dictionary, string $key, string $type) Получить значение связи по типу "один-ко-многим" или "один-к-одному". | из HasOneOrMany |
| массив | buildDictionary(Коллекция $results) Создать словарь моделей, индексированный по внешнему ключу связи. | из HasOneOrMany |
| Коллекция|Модель | findOrNew(mixed $id, array $columns = ['*']) Найти связанную модель по первичному ключу или вернуть новый экземпляр связанной модели. | из MorphOneOrMany |
| Модель | firstOrNew(array $attributes) Получить первую связанную запись, соответствующую атрибутам, или создать её экземпляр. | из MorphOneOrMany |
| Модель | firstOrCreate(array $attributes) Получить первую связанную запись, соответствующую атрибутам, или создать её. | из MorphOneOrMany |
| Модель | updateOrCreate(array $attributes, array $values = []) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | из MorphOneOrMany |
| Модель|false | save(Модель $model) Привязать экземпляр модели к родительской модели. | из MorphOneOrMany |
| Traversable|массив | saveMany(Traversable|array $models) Привязать коллекцию моделей к родительскому экземпляру. | из HasOneOrMany |
| Модель | create(array $attributes) Создать новый экземпляр связанной модели. | из MorphOneOrMany |
| Коллекция | createMany(array $records) Создать коллекцию новых экземпляров связанной модели. | из HasOneOrMany |
| целое число | update(array $attributes) Выполнить обновление всех связанных моделей. | из HasOneOrMany |
| Билд | getRelationExistenceQueryForSelfRelation(Билд $query, Билд $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса связи на том же таблице. | из HasOneOrMany |
| строка | getRelationCountHash() Получить хэш таблицы соединения для связи. | из HasOneOrMany |
| строка | getExistenceCompareKey() Получить ключ для сравнения с ключом родительской записи в запросе "has". | из HasOneOrMany |
| смешанный тип | getParentKey() Получить значение ключа родительской записи. | из HasOneOrMany |
| строка | getForeignKeyName() Получить имя внешнего ключа. | из HasOneOrMany |
| строка | getQualifiedForeignKeyName() Получить полное имя внешнего ключа для связи. | из HasOneOrMany |
| пусто | setForeignAttributesForCreate(Модель $model) Установить внешний ID и тип для создания связанной модели. | из MorphOneOrMany |
| строка | getQualifiedMorphType() Получить имя внешнего ключа "тип". | из MorphOneOrMany |
| строка | getMorphType() Получить имя типа морфинга без имени таблицы. | из MorphOneOrMany |
| строка | getMorphClass() Получить имя класса родительской модели. | из MorphOneOrMany |
| Модель | newRelatedInstanceFor(Модель $parent) Создать новый экземпляр связанной модели для данной модели. |
| $this | withDefault(Closure|array|bool $callback = true) Возвращает новый экземпляр модели в случае, если отношение отсутствует. | из SupportsDefaultModels |
| Модель|null | getDefaultFor(Модель $parent) Получить значение по умолчанию для этого отношения. | из SupportsDefaultModels |
Подробности
static void macro(string $name, callable $macro)
Регистрирует пользовательское макро.
static bool hasMacro(string $name)
Проверяет, зарегистрировано ли макро.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
mixed __call(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
void __construct(Builder $query, Модель $parent, string $type, string $id, string $localKey)
Создаёт новый экземпляр отношения «один ко многим» или «один к одному».
static mixed noConstraints(Closure $callback)
Выполняет обратный вызов без ограничений для отношения.
void addConstraints()
Устанавливает базовые ограничения для запроса отношения.
void addEagerConstraints(array $models)
Устанавливает ограничения для жадного загрузки отношения.
array initRelation(array $models, string $relation)
Инициализирует отношение для набора моделей.
array match(array $models, Коллекция $results, string $relation)
Сопоставляет загруженные с жадной загрузкой результаты с родительскими объектами.
mixed getResults()
Получить результаты отношения.
Коллекция getEager()
Получить отношение для жадной загрузки.
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.
Модель getParent()
Получить родительскую модель отношения.
строка getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя колонки "created at".
строка updatedAt()
Получить имя колонки "updated at".
строка relatedUpdatedAt()
Получить имя колонки "updated at" связанной модели.
static массив morphMap(array $map = null, bool $merge = true)
Установить или получить отображение morph для полиморфных отношений.
static protected массив|null buildMorphMapFromModels(array $models = null)
Создаёт таблично-индексированный массив из имён классов моделей.
static строка|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
Модель make(array $attributes = [])
Создать и вернуть несохранённую копию связанной модели.
массив matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственными родителями.
массив matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их многими родителями.
protected массив matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты с их многими родителями.
protected смешанный тип getRelationValue(array $dictionary, string $key, string $type)
Получить значение отношения по типу один-к-одному или один-ко-многим.
protected массив buildDictionary(Коллекция $results)
Создаёт словарь модели, индексированный по внешнему ключу отношения.
Коллекция|Модель findOrNew(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или вернуть новую копию связанной модели.
Модель firstOrNew(array $attributes)
Получить первую связанную модель, соответствующую атрибутам, или создать её экземпляр.
Модель firstOrCreate(array $attributes)
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Traversable|array saveMany(Traversable|array $models)
Присоединить коллекцию моделей к родительскому экземпляру.
Модель create(array $attributes)
Создать новый экземпляр связанной модели.
Коллекция createMany(array $records)
Создать коллекцию новых экземпляров связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса связи на той же таблице.
string getRelationCountHash()
Получить хэш таблицы соединения связи.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
mixed getParentKey()
Получить значение ключа родительского локального ключа.
string getForeignKeyName()
Получить простой внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для связи.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор и тип для создания связанной модели.
string getQualifiedMorphType()
Получить имя внешнего ключа "тип".
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.5/Illuminate/Database/Eloquent/Relations/MorphOne.html