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 |
| static protected int | $selfJoinCount | Количество самосоединений. | из 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) Инициализировать связь на наборе моделей. | из Relation |
| array | match(array $models, Collection $results, string $relation) Сопоставить результаты отложенной загрузки с их родительскими элементами. | из Relation |
| mixed | getResults() Получить результаты связи. | из Relation |
| Collection | getEager() Получить связь для отложенной загрузки. | из Relation |
| void | touch() Обновить метки времени для всех связанных моделей. | из Relation |
| int | rawUpdate(array $attributes = []) Выполнить необработанное обновление по основному запросу. | из Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчета связей. | из Relation |
| Builder | getRelationQuery(Builder $query, Builder $parent, array|mixed $columns = ['*']) Получить запрос для связи. | |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений для связи. | из Relation |
| array | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | из Relation |
| Builder | getQuery() Получить базовый запрос для связи. | из Relation |
| Builder | getBaseQuery() Получить базовый билдер запроса, управляющий билдером Eloquent. | из Relation |
| Model | getParent() Получить родительскую модель связи. | из Relation |
| string | getQualifiedParentKeyName() Получить полное имя родительского ключа. | из HasOneOrMany |
| Model | getRelated() Получить связанную модель связи. | из Relation |
| string | createdAt() Получить имя столбца "created at". | из Relation |
| string | updatedAt() Получить имя столбца "updated at". | из Relation |
| string | relatedUpdatedAt() Получить имя столбца "updated at" связанной модели. | из Relation |
| string | wrap(string $value) Оборачивает заданное значение с помощью грамматики родительского запроса. | из Relation |
| static array | morphMap(array $map = null, bool $merge = true) Устанавливает или получает карту морфизма для полиморфных связей. | из Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Создает массив, индексированный по таблицам, из имён классов моделей. | из Relation |
| mixed | __call(string $method, array $parameters) Обрабатывает вызовы динамических методов для связи. | из Relation |
| void | __clone() Принудительно клонирует базовый билдер запроса при клонировании. | из Relation |
| Builder | getRelationQueryForSelfRelation(Builder $query, Builder $parent, array|mixed $columns = ['*']) Добавить ограничения для запроса связи на одной таблице. | из HasOneOrMany |
| string | getRelationCountHash() Получить хэш таблицы соединения для связи. | из HasOneOrMany |
| array | matchOne(array $models, Collection $results, string $relation) Сопоставить результаты отложенной загрузки с их единственным родителем. | из HasOneOrMany |
| массив | matchMany(массив $models, Collection $results, строка $relation) Сопоставить загруженные с помощью eager loading результаты с их родительскими элементами. | из HasOneOrMany |
| массив | matchOneOrMany(массив $models, Collection $results, строка $relation, строка $type) Сопоставить загруженные с помощью eager loading результаты с их родительскими элементами. | из HasOneOrMany |
| смешанный тип | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение связи по типу один-к-одному или один-ко-многим. | из HasOneOrMany |
| массив | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу связи. | из HasOneOrMany |
| Модель | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | |
| Traversable|массив | saveMany(Traversable|массив $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 |
| void | setForeignAttributesForCreate(Модель $model) Установить внешний идентификатор и тип для создания связанной модели. | |
| строка | getMorphType() Получить имя внешнего ключа "тип". | |
| строка | getPlainMorphType() Получить имя простого морф-типа без таблицы. | |
| строка | getMorphClass() Получить имя класса родительской модели. |
Подробности
void __construct(Builder $query, Модель $parent, строка $type, строка $id, строка $localKey)
Создать новый экземпляр связи "морф один-ко-многим".
void addConstraints()
Установить базовые ограничения на запрос к связи.
void addEagerConstraints(массив $models)
Установить ограничения для eager loading связи.
abstract массив initRelation(массив $models, строка $relation)
Инициализировать связь для набора моделей.
abstract массив match(массив $models, Collection $results, строка $relation)
Сопоставить загруженные с помощью eager loading результаты с их родительскими элементами.
abstract смешанный тип getResults()
Получить результаты связи.
Коллекция getEager()
Получить отношение для ленивой загрузки.
void touch()
Обновить метку времени для всех связанных моделей отношения.
int rawUpdate(array $attributes = [])
Выполнить прямое обновление базы данных по основному запросу.
Билдер getRelationCountQuery(Билдер $query, Билдер $parent)
Добавить ограничения для запроса подсчёта отношения.
Билдер getRelationQuery(Билдер $query, Билдер $parent, array|mixed $columns = ['*'])
Получить запрос для отношения.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для отношения.
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" связанной модели.
string wrap(string $value)
Оборачивает заданное значение синтаксисом грамматики родительского запроса.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить карту morph для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт таблично-индексированный массив из имён классов моделей.
mixed __call(string $method, array $parameters)
Обрабатывает вызовы динамических методов для отношения.
void __clone()
Принудительно клонирует основной билдер запроса при клонировании.
Билдер getRelationQueryForSelfRelation(Билдер $query, Билдер $parent, array|mixed $columns = ['*'])
Добавляет ограничения для запроса отношения к одной и той же таблице.
string getRelationCountHash()
Получить хеш таблицы соединения для связи.
array matchOne(array $models, Collection $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственными родительскими элементами.
array matchMany(array $models, Collection $results, string $relation)
Сопоставить загруженные с жадностью результаты со своими множественными родительскими элементами.
protected array matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты со своими множественными родительскими элементами.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу один или многие.
protected array buildDictionary(Collection $results)
Создать словарь модели, индексированный по внешнему ключу связи.
Перечисляемый|array saveMany(Перечисляемый|array $models)
Присоединить коллекцию моделей к родительскому экземпляру.
Коллекция|Модель findOrNew(mixed $id, array $columns = ['*'])
Найти связанную модель по ее первичному ключу или вернуть новый экземпляр связанной модели.
Модель firstOrNew(array $attributes)
Получить первую запись связанной модели, соответствующую атрибутам, или создать ее экземпляр.
Модель firstOrCreate(array $attributes)
Получить первую запись, соответствующую атрибутам, или создать ее.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить запись, соответствующую атрибутам, и заполнить ее значениями.
Модель create(array $attributes)
Создать новый экземпляр связанной модели.
array createMany(array $records)
Создать массив новых экземпляров связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
string getHasCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
string getForeignKey()
Получить внешний ключ для связи.
string getPlainForeignKey()
Получить простой внешний ключ.
mixed 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/MorphOneOrMany.html