MorphOneOrMany
класс MorphOneOrMany расширяет HasOneOrMany (Просмотреть исходный код)
Трейты
| 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 | Тип внешнего ключа для связи. | |
| protected string | $morphClass | Имя класса родительской модели. |
Методы
| static void | macro(string $name, callable $macro) Зарегистрировать пользовательское макро. | 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 |
| 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 |
| Model | getParent() Получить родительскую модель связи. | from Relation |
| строка | getQualifiedParentKeyName() Получить полное имя родительского ключа. | из HasOneOrMany |
| Модель | getRelated() Получить связанную модель отношения. | из Relation |
| строка | createdAt() Получить имя столбца "created at". | из Relation |
| строка | updatedAt() Получить имя столбца "updated at". | из Relation |
| строка | relatedUpdatedAt() Получить имя столбца "updated at" связанной модели. | из Relation |
| статический массив | morphMap(массив $map = null, bool $merge = true) Установить или получить морфинг-справочник для полиморфных отношений. | из Relation |
| статический массив|null | buildMorphMapFromModels(массив $models = null) Создает массив с ключами таблиц из имен классов моделей. | из Relation |
| статический string|null | getMorphedModel(string $alias) Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone() Принудительно клонировать базовый билдер запросов при клонировании. | из Relation |
| Модель | make(array $attributes = []) Создать и вернуть неспасённую (не сохранённую) экземпляр связанной модели. | |
| массив | matchOne(array $models, Collection $results, string $relation) Сопоставить загруженные с жадностью результаты с их единственными родительскими элементами. | из HasOneOrMany |
| массив | matchMany(array $models, Collection $results, string $relation) Сопоставить загруженные с жадностью результаты с их множественными родительскими элементами. | из HasOneOrMany |
| массив | matchOneOrMany(array $models, Collection $results, string $relation, string $type) Сопоставить загруженные с жадностью результаты с их множественными родительскими элементами. | из HasOneOrMany |
| mixed | getRelationValue(array $dictionary, string $key, string $type) Получить значение связи по одному или многим типам. | from HasOneOrMany |
| array | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу связи. | from HasOneOrMany |
| Collection|Model | findOrNew(mixed $id, array $columns = ['*']) Найти связанную модель по её первичному ключу или вернуть новый экземпляр связанной модели. | |
| Model | firstOrNew(array $attributes) Получить первую связанную модель, соответствующую атрибутам, или создать её экземпляр. | |
| Model | firstOrCreate(array $attributes) Получить первую связанную запись, соответствующую атрибутам, или создать её. | |
| Model | updateOrCreate(array $attributes, array $values = []) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | |
| Model|false | save(Model $model) Прикрепить экземпляр модели к родительской модели. |
| Traversable|array | saveMany(Traversable|array $models) Прикрепить коллекцию моделей к родительскому экземпляру. | from HasOneOrMany |
| Модель | create(array $attributes) Создать новый экземпляр связанной модели. | |
| Коллекция | createMany(array $records) Создать Коллекцию новых экземпляров связанной модели. | from HasOneOrMany |
| int | update(array $attributes) Выполнить обновление всех связанных моделей. | from HasOneOrMany |
| Билдер | 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 |
| void | setForeignAttributesForCreate(Model $model) Установить внешний идентификатор и тип для создания связанной модели. | |
| string | getQualifiedMorphType() Получить имя внешнего ключа «тип». | |
| string | getMorphType() Получить обычное имя типа морфизма без таблицы. | |
| string | getMorphClass() Получить имя класса родительской модели. |
Подробности
static void macro(string $name, callable $macro)
Зарегистрировать пользовательскую макрокоманду.
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()
Получить отношение для отложенной загрузки.
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, Коллекция $results, string $relation)
Сопоставить загруженные результаты с их единственными родителями.
array matchMany(array $models, Коллекция $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|Модель findOrNew(mixed $id, array $columns = ['*'])
Найти связанную модель по её первичному ключу или вернуть новую инстанцию связанной модели.
Модель firstOrNew(array $attributes)
Получить первую связанную модель, соответствующую атрибутам, или создать её инстанцию.
Модель firstOrCreate(array $attributes)
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Перебираемый|массив saveMany(Перебираемый|массив $models)
Прикрепить коллекцию моделей к родительскому экземпляру.
Модель create(массив $attributes)
Создать новый экземпляр связанной модели.
Коллекция createMany(массив $records)
Создать коллекцию новых экземпляров связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса связи на том же столе.
string getRelationCountHash()
Получить хеш таблицы соединения связи.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
mixed getParentKey()
Получить значение ключа родительского локального ключа.
string getForeignKeyName()
Получить простое внешнее ключевое поле.
string getQualifiedForeignKeyName()
Получить внешнее ключевое поле для связи.
protected void setForeignAttributesForCreate(Model $model)
Установить внешний идентификатор и тип для создания связанной модели.
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.4/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.html