MorphMany
class MorphMany extends MorphOneOrMany (View source)
Трейты
| ForwardsCalls | |
| 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 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 |
Методы
| 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 или 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|null $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, string $key)
Получить имя метода "where in" для леничной загрузки. | из Связь |
| static array | morphMap(array $map = null, bool $merge = true)
Установить или получить карту морфинга для полиморфных связей. | из Связь |
| static array|null | buildMorphMapFromModels(array $models = null)
Создает таблично-индексированный массив из имен классов моделей. | из Связь |
| static string|null | getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом. | из Связь |
| void | __clone()
Вынудить клонирование базового билдера запроса при клонировании. | из Связь |
| Модель | make(array $attributes = [])
Создать и вернуть несохранённую экземпляр связанной модели. | из ОдинКОдномуИлиНескольку |
| Коллекция | makeMany(iterable $records)
Создать и вернуть несохранённые экземпляры связанных моделей. | из ОдинКОдномуИлиНескольку |
| array | matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные результаты с их единственными родителями. | из ОдинКОдномуИлиНескольку |
| array | matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные результаты со многими родителями. | из ОдинКОдномуИлиНескольку |
| array | matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставить загруженные результаты со многими родителями. | из ОдинКОдномуИлиНескольку |
| mixed | getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу один или несколько. | из ОдинКОдномуИлиНескольку |
| array | buildDictionary(Коллекция $results)
Построить словарь модели, индексированный по внешнему ключу связи. | из ОдинКОдномуИлиНескольку |
| Коллекция|Модель | findOrNew(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр связанной модели. | из ОдинКОдномуИлиНескольку |
| Модель | firstOrNew(array $attributes, array $values = [])
Получить первую запись связанной модели, соответствующую атрибутам, или создать её. | из ОдинКОдномуИлиНескольку |
| Модель | firstOrCreate(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её. | из ОдинКОдномуИлиНескольку |
| Модель | updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | из ОдинКОдномуИлиНескольку |
| Модель|false | save(Модель $model)
Прикрепить экземпляр модели к родительской модели. | из ОдинКОдномуИлиНескольку |
| iterable | saveMany(iterable $models)
Прикрепить коллекцию моделей к родительскому экземпляру. | из ОдинКОдномуИлиНесколько |
| Модель | create(array $attributes = [])
Создать новый экземпляр связанной модели. | из ОдинКОдномуИлиНесколько |
| Коллекция | createMany(iterable $records)
Создать коллекцию новых экземпляров связанной модели. | из ОдинКОдномуИлиНесколько |
| void | setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор и тип для создания связанной модели. | из МорфОдинИлиНесколько |
| Билдер | getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса связи на той же таблице. | из ОдинКОдномуИлиНесколько |
| string | getRelationCountHash()
Получить хеш таблицы связи. | из ОдинКОдномуИлиНесколько |
| string | getExistenceCompareKey()
Получить ключ для сравнения с ключом родителя в запросе "has". | из ОдинКОдномуИлиНесколько |
| mixed | getParentKey()
Получить значение ключа родительского локального ключа. | из ОдинКОдномуИлиНесколько |
| string | getForeignKeyName()
Получить простой внешний ключ. | из ОдинКОдномуИлиНесколько |
| 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)
Создать новый экземпляр связи морфин one или many.
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 = ['*'])
Выполнить запрос в качестве оператора «select».
void touch()
Обновить все связанные модели для отношения.
int rawUpdate(array $attributes = [])
Выполнить прямое обновление с использованием базового запроса.
Библиотека getRelationExistenceCountQuery(Библиотека $query, Библиотека $parentQuery)
Добавить ограничения для запроса подсчета отношения.
Библиотека getRelationExistenceQuery(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*'])
Получить запрос для отношения.
protected массив getKeys(array $models, string|null $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 = [])
Создать и вернуть незасохраненный экземпляр связанной модели.
Коллекция makeMany(iterable $records)
Создать и вернуть незасохраненные экземпляры связанных моделей.
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)
Построить словарь моделей, индексированный по внешнему ключу отношения.
Collection|Model findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели.
Model firstOrNew(array $attributes, array $values = [])
Получить первую запись связанной модели, соответствующую атрибутам, или создать её.
Model firstOrCreate(array $attributes, array $values = [])
Получить первую запись, соответствующую атрибутам, или создать её.
Model updateOrCreate(array $attributes, array $values = [])
Создать или обновить запись связанной модели, соответствующую атрибутам, и заполнить её значениями.
iterable saveMany(iterable $models)
Присоединить коллекцию моделей к родительскому экземпляру.
Model create(array $attributes = [])
Создать новый экземпляр связанной модели.
Collection createMany(iterable $records)
Создать коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Model $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()
Получить имя класса родительской модели.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Database/Eloquent/Relations/MorphMany.html