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 $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 |
| статический string|null | getMorphedModel(string $alias) Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone() Принудительно клонировать базовый билдер запросов при клонировании. | из Relation |
| Модель | make(массив $attributes = []) Создать и вернуть несохранённую экземпляр связанной модели. | |
| массив | matchOne(массив $models, Коллекция $results, string $relation) Сопоставить загруженные с нетерпением результаты с их единственными родителями. | |
| массив | matchMany(массив $models, Коллекция $results, string $relation) Сопоставить загруженные с нетерпением результаты с их множественными родителями. | |
| массив | matchOneOrMany(массив $models, Коллекция $results, string $relation, string $type) Сопоставить загруженные с нетерпением результаты с их множественными родителями. | |
| смешанный тип | getRelationValue(массив $dictionary, string $key, string $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(массив $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 = ['*'])
Выполнить запрос как операцию «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()
Получить имя столбца «created at».
string updatedAt()
Получить имя столбца «updated at».
string relatedUpdatedAt()
Получить имя столбца «updated at» связанной модели.
protected string whereInMethod(Модель $model, string $key)
Получить имя метода «where in» для ленивой загрузки.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить карту morph для полиморфных отношений.
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, Коллекция $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(array $records)
Создать коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор для создания связанной модели.
Библиотека getRelationExistenceQueryForSelfRelation(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на той же таблице.
строка getRelationCountHash()
Получить хеш таблицы объединения отношений.
строка getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
смешанный тип getParentKey()
Получить значение ключа родительского локального ключа.
строка getForeignKeyName()
Получить простой внешний ключ.
строка getQualifiedForeignKeyName()
Получить внешний ключ для отношения.
строка getLocalKeyName()
Получить локальный ключ для отношения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.8/Illuminate/Database/Eloquent/Relations/HasOneOrMany.html