MorphOneOrMany
class MorphOneOrMany extends HasOneOrMany (View source)
Свойства
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | из Macroable |
| 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 | Имя класса родительской модели. |
Методы
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательское макро. | from Macroable |
| static void | mixin(object $mixin) Смешать другой объект в класс. | 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) Создать новый экземпляр связи один-ко-многим или многие-ко-многим. | |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений для связи. | from Relation |
| void | addConstraints() Установить базовые ограничения для запроса отношения. | |
| void | addEagerConstraints(array $models) Установить ограничения для леничной загрузки отношения. | |
| array | initRelation(array $models, string $relation) Инициализировать отношение для набора моделей. | from Relation |
| array | match(array $models, Collection $results, string $relation) Сопоставить результаты леничной загрузки с их родительскими объектами. | from Relation |
| mixed | getResults() Получить результаты отношения. | from Relation |
| Collection | getEager() Получить отношение для леничной загрузки. | from Relation |
| Collection | get(array $columns = ['*']) Выполнить запрос как операцию "выбор". | 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 = ['*']) Получить запрос для отношения. | |
| array | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | from Relation |
| Builder | getQuery() Получить базовый запрос для отношения. | from Relation |
| Builder | getBaseQuery() Получить базовый строитель запроса, управляющий Eloquent строителем. | from Relation |
| Модель | getParent() Получить родительскую модель отношения. | из Relation |
| строка | getQualifiedParentKeyName() Получить полное имя ключа родительской записи. | из HasOneOrMany |
| Модель | getRelated() Получить связанную модель отношения. | из Relation |
| строка | createdAt() Получить имя столбца "created at". | из Relation |
| строка | updatedAt() Получить имя столбца "updated at". | из Relation |
| строка | relatedUpdatedAt() Получить имя столбца "updated at" связанной модели. | из Relation |
| статический массив | morphMap(array $map = null, bool $merge = true) Установить или получить отображение morph для полиморфных отношений. | из Relation |
| статический массив|null | buildMorphMapFromModels(массив $models = null) Создаёт массив, индексированный таблицами, из имён моделей. | из Relation |
| статический строка|null | getMorphedModel(строка $alias) Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone() Принудительно клонирует базовый билдер запросов при клонировании. | из Relation |
| Модель | make(массив $attributes = []) Создать и вернуть несохранённый экземпляр связанной модели. | из HasOneOrMany |
| массив | matchOne(массив $models, Коллекция $results, строка $relation) Сопоставить загруженные с жадностью результаты с их единственными родителями. | из HasOneOrMany |
| массив | matchMany(массив $models, Коллекция $results, строка $relation) Сопоставить загруженные с жадностью результаты с их множественными родителями. | из HasOneOrMany |
| массив | matchOneOrMany(массив $models, Collection $results, строка $relation, строка $type) Сопоставить загруженные с помощью eager loading результаты с их родительскими элементами во множественном числе. | из HasOneOrMany |
| смешанное | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение отношения по типу один ко многим. | из HasOneOrMany |
| массив | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| Collection|Модель | findOrNew(смешанное $id, массив $columns = ['*']) Найти модель по первичному ключу или вернуть новый экземпляр связанной модели. | из HasOneOrMany |
| Модель | firstOrNew(массив $attributes, массив $values = []) Получить первую связанную модель, соответствующую атрибутам, или создать новую. | из HasOneOrMany |
| Модель | firstOrCreate(array $attributes, array $values = []) Получить первую связанную запись, соответствующую атрибутам, или создать её. | из HasOneOrMany |
| Модель | updateOrCreate(array $attributes, array $values = []) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | из HasOneOrMany |
| Модель|false | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | |
| Traversable|array | saveMany(Traversable|array $models) Прикрепить коллекцию моделей к родительскому экземпляру. | из HasOneOrMany |
| Модель | create(array $attributes = []) Создать новый экземпляр связанной модели. | из HasOneOrMany |
| Коллекция | createMany(array $records) Создать коллекцию новых экземпляров связанной модели. | из HasOneOrMany |
| void | установитьВнешниеАтрибутыДляСоздание(Модель $model) Установить внешний ID и тип для создания связанной модели. | |
| int | обновить(array $attributes) Выполнить обновление всех связанных моделей. | из HasOneOrMany |
| Библиотека | получитьЗапросСуществованияСвязиДляСвязиССамимСобой(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения на той же таблице. | из HasOneOrMany |
| string | получитьХэшПодсчетаОтношений() Получить хэш таблицы соединения отношений. | из HasOneOrMany |
| string | получитьКлючСравненияСуществования() Получить ключ для сравнения с ключом родительской записи в запросе "has". | из HasOneOrMany |
| mixed | получитьКлючРодителя() Получить значение ключа локальной записи родителя. | из HasOneOrMany |
| строка | getForeignKeyName() Получить простое внешнее ключи. | из HasOneOrMany |
| строка | getQualifiedForeignKeyName() Получить внешний ключ для отношения. | из HasOneOrMany |
| строка | getQualifiedMorphType() Получить имя внешнего ключа "тип". | |
| строка | getMorphType() Получить простое имя типа морфинга без таблицы. | |
| строка | getMorphClass() Получить имя класса родительской модели. |
Подробности
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро.
static void mixin(object $mixin)
Смешать другой объект в класс.
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)
Установить ограничения для леничной загрузки отношения.
abstract array initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей.
abstract array match(array $models, Collection $results, string $relation)
Сопоставить загруженные результаты с их родителями.
abstract mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для ленивой загрузки.
Collection get(array $columns = ['*'])
Выполнить запрос как операцию "выбрать".
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()
Получить имя столбца "created at".
string updatedAt()
Получить имя столбца "updated at".
string relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
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, 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 = ['*'])
Найти модель по её первичному ключу или вернуть новую модель.
Модель firstOrNew(array $attributes, array $values = [])
Получить первую связанную запись модели, соответствующую атрибутам, или создать ее.
Модель firstOrCreate(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать ее.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить ее значениями.
Traversable|array saveMany(Traversable|array $models)
Прикрепить коллекцию моделей к родительскому экземпляру.
Модель create(array $attributes = [])
Создать новый экземпляр связанной модели.
Коллекция createMany(array $records)
Создать коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний ID и тип для создания связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на том же столе.
string getRelationCountHash()
Получить хэш таблицы соединения отношения.
string getExistenceCompareKey()
Получить ключ для сравнения с ключом родительской записи в запросе "has".
mixed getParentKey()
Получить значение ключа родительской записи.
string getForeignKeyName()
Получить простое внешнее имя ключа.
string getQualifiedForeignKeyName()
Получить внешнее имя ключа для связи.
string getQualifiedMorphType()
Получить имя типа внешнего ключа.
string getMorphType()
Получить простое имя типа морфизма без таблицы.
string getMorphClass()
Получить имя класса родительской модели.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.html