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