HasOneOrMany
абстрактный класс HasOneOrMany расширяет Relation (View source)
Свойства
| ForwardsCalls |
| Macroable |
Свойства
| статический защищенный массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищенный Builder | $query | Экземпляр Eloquent-строителя запросов. | из Relation |
| защищенный Model | $parent | Экземпляр родительской модели. | из Relation |
| защищенный Model | $related | Экземпляр связанной модели. | из Relation |
| статический защищенный bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| статический массив | $morphMap | Массив для сопоставления имен классов с их именами морфов в базе данных. | из Relation |
| защищенная строка | $foreignKey | Внешний ключ родительской модели. | |
| защищенная строка | $localKey | Локальный ключ родительской модели. | |
| статический защищенный int | $selfJoinCount | Количество самосоединений. |
Методы
| 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) Смешать другой объект в класс. | 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 $foreignKey, 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 = ['*']) Выполнить запрос как операцию "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 = ['*']) Добавить ограничения для запроса связи. | |
| array | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | from Relation |
| Builder | getQuery() Получить основной запрос для связи. | from Relation |
| Builder | getBaseQuery() Получить основной объект-построитель запроса, управляющий объектом-построителем Eloquent. | from Relation |
| Model | getParent() Получить родительскую модель связи. | from Relation |
| string | getQualifiedParentKeyName() Получить полное квалифицированное имя родительского ключа. | |
| Model | getRelated() Получить связанную модель связи. | from Relation |
| string | createdAt() Получить имя столбца "created at". | from Relation |
| string | updatedAt() Получить имя столбца "updated at". | from Relation |
| string | relatedUpdatedAt() Получить имя столбца "updated at" связанной модели. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить карту morph для полиморфных связей. | from Relation |
| статический массив|null | buildMorphMapFromModels(массив $models = null) Создаёт таблично-индексированный массив из имён классов моделей. | из Relation |
| статический строка|null | getMorphedModel(строка $alias) Получение модели, связанной с пользовательским полиморфным типом. | из Relation |
| void | __clone() Принудительно клонирует подлежащий запрос-билдер при клонировании. | из Relation |
| Модель | make(массив $attributes = []) Создаёт и возвращает несохранённую экземпляр связанной модели. | |
| массив | matchOne(массив $models, Коллекция $results, строка $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 = []) Создание или обновление записи связанной модели, соответствующей атрибутам, и заполнение её значениями. | |
| Модель|ложь | save(Модель $model) Присоединение экземпляра модели к родительской модели. | |
| Traversable|массив | saveMany(Traversable|массив $models) Присоединение коллекции моделей к родительскому экземпляру. | |
| Модель | create(массив $attributes = []) Создание нового экземпляра связанной модели. | |
| Коллекция | createMany(массив $records) Создание коллекции новых экземпляров связанной модели. | |
| void | setForeignAttributesForCreate(Модель $model) Установка внешнего идентификатора для создания связанной модели. | |
| целое | update(массив $attributes) Выполнение обновления всех связанных моделей. | |
| Библиотека | getRelationExistenceQueryForSelfRelation(Библиотека $query, Библиотека $parentQuery, массив|смешанный $columns = ['*']) Добавление ограничений для запроса связи на одной и той же таблице. | |
| строка | getRelationCountHash() Получение хеша таблицы соединения связи. | |
| строка | getExistenceCompareKey() Получение ключа для сравнения с родительским ключом в запросе «has». | |
| смешанный | getParentKey() Получение значения ключа родителя. | |
| строка | getForeignKeyName() Получение простого внешнего ключа. | |
| строка | getQualifiedForeignKeyName() Получение внешнего ключа для связи. |
Подробное описание
protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)
Перенаправление вызова метода к заданному объекту.
static protected void throwBadMethodCallException(строка $method)
Выбрасывание исключения при неверном вызове метода для данного метода.
static void macro(строка $name, объект|вызываемый $macro)
Регистрация пользовательского макроса.
static void mixin(объект $mixin)
Смешивание другого объекта в класс.
static bool hasMacro(строка $name)
Проверка регистрации макроса.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
mixed __call(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
void __construct(Builder $query, Model $parent, string $foreignKey, 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 = ['*'])
Выполнить запрос как операцию "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()
Получить родительскую модель отношения.
строка getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя столбца «создано в».
строка updatedAt()
Получить имя столбца «обновлено в».
строка relatedUpdatedAt()
Получить имя столбца «обновлено в» для связанной модели.
static массив morphMap(array $map = null, bool $merge = true)
Установить или получить отображение морфизма для полиморфных отношений.
static protected массив|null buildMorphMapFromModels(array $models = null)
Создает таблично-индексированный массив из имен классов моделей.
static строка|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
пустое значение __clone()
Принудительно клонировать базовый генератор запросов при клонировании.
Модель make(array $attributes = [])
Создать и вернуть несохраненный экземпляр связанной модели.
массив matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные результаты eager loading с их единственными родителями.
массив matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные результаты eager loading с их многими родителями.
protected массив matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставить загруженные результаты eager loading с их многими родителями.
protected смешанный тип getRelationValue(array $dictionary, string $key, string $type)
Получить значение отношения по типу один-ко-одному или один-ко-многим.
protected массив buildDictionary(Коллекция $results)
Создает словарь модели, индексированный по внешнему ключу отношения.
Коллекция|Модель 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)
Установить внешний идентификатор для создания связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
Билдэр getRelationExistenceQueryForSelfRelation(Билдэр $query, Билдэр $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношений на том же столе.
string getRelationCountHash()
Получить хэш таблицы объединения отношений.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
mixed getParentKey()
Получить значение ключа родительского локального ключа.
string getForeignKeyName()
Получить простой внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для отношения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Relations/HasOneOrMany.html