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