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