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)
Передать вызов метода заданному объекту. | из ForwardsCalls |
| static void | throwBadMethodCallException(string $method)
Выбросить исключение плохого вызова метода для заданного метода. | из ForwardsCalls |
| static void | macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро. | из Macroable |
| static void | mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс. | из Macroable |
| static bool | hasMacro(string $name)
Проверяет, зарегистрировано ли макро. | из Macroable |
| static mixed | __callStatic(string $method, array $parameters)
Динамически обработать вызовы к классу. | из Macroable |
| mixed | __call(string $method, array $parameters)
Динамически обработать вызовы к классу. | из Macroable |
| void | __construct(Builder $query, Model $parent, string $foreignKey, string $localKey)
Создать новый экземпляр отношения один-к-одному или один-ко-многим. | |
| static mixed | noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями на отношении. | из Relation |
| void | addConstraints()
Установить базовые ограничения на запросе отношения. | |
| void | addEagerConstraints(array $models)
Установить ограничения для жадного загрузки отношения. | |
| array | initRelation(array $models, string $relation)
Инициализировать отношение на наборе моделей. | из Relation |
| array | match(array $models, Collection $results, string $relation)
Сопоставить загруженные с жадностью результаты с их родителями. | из Relation |
| mixed | getResults()
Получить результаты отношения. | из Relation |
| Collection | getEager()
Получить отношение для жадной загрузки. | из Relation |
| Collection | get(array $columns = ['*'])
Выполнить запрос как «выбрать» утверждение. | из Relation |
| void | touch()
Обновить все связанные модели для отношения. | из Relation |
| int | rawUpdate(array $attributes = [])
Выполнить сырое обновление по основному запросу. | из Relation |
| Builder | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета существования отношения. | из Relation |
| Builder | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения. | |
| array | getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей. | из Relation |
| Builder | getQuery()
Получить базовое запроса для отношения. | из Relation |
| Builder | getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent. | из Relation |
| Model | getParent()
Получить родительскую модель отношения. | из Relation |
| string | getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа. | |
| Model | getRelated()
Получить связанную модель отношения. | из Relation |
| string | createdAt()
Получить имя колонки «создано в». | из Relation |
| string | updatedAt()
Получить имя колонки «обновлено в». | из Relation |
| string | relatedUpdatedAt()
Получить имя колонки «обновлено в» связанной модели. | из Relation |
| string | whereInMethod(Model $model, string $key)
Получить имя метода «где в» для жадной загрузки. | из Relation |
| статический массив | morphMap(массив $map = null, bool $merge = true)
Установить или получить морфинг-карту для полиморфных отношений. | из 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)
Прикрепить экземпляр модели к родительской модели. | |
| итерируемый объект | saveMany(итерируемый объект $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)
Выбросить исключение BadMethodCall для заданного метода.
static void macro(строка $name, объект|вызываемый $macro)
Зарегистрировать пользовательское макро.
static void mixin(объект $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 $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Производитель запросов getBaseQuery()
Получить базовый билдер запросов, управляющий билдером Eloquent.
Модель getParent()
Получить родительскую модель отношения.
строка getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя столбца "created at".
строка updatedAt()
Получить имя столбца "updated at".
строка relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
protected строка whereInMethod(Модель $model, строка $key)
Получить имя метода "where in" для ленивой загрузки.
static массив morphMap(массив $map = null, bool $merge = true)
Установить или получить морф-мапу для полиморфных отношений.
static protected массив|null buildMorphMapFromModels(массив $models = null)
Создает таблично-индексированный массив из имен классов моделей.
static строка|null getMorphedModel(строка $alias)
Получить модель, связанную с пользовательским полиморфным типом.
пустое значение __clone()
Вынужденное клонирование подлежащего билдера запросов при клонировании.
Модель make(массив $attributes = [])
Создать и вернуть несхранённую инстанцию связанной модели.
массив matchOne(массив $models, Коллекция $results, строка $relation)
Сопоставить загруженные результаты с их единственными родителями.
массив matchMany(массив $models, Коллекция $results, строка $relation)
Сопоставить загруженные результаты с их множественными родителями.
protected массив matchOneOrMany(массив $models, Коллекция $results, строка $relation, строка $type)
Сопоставить загруженные результаты с их множественными родителями.
protected смешанное getRelationValue(массив $dictionary, строка $key, строка $type)
Получить значение отношения по типу один или много.
protected массив buildDictionary(Коллекция $results)
Создать словарь модели, индексированный по внешнему ключу отношения.
Коллекция|Модель findOrNew(смешанное $id, массив $columns = ['*'])
Найти модель по первичному ключу или вернуть новую инстанцию связанной модели.
Модель firstOrNew(массив $attributes, массив $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/6.x/Illuminate/Database/Eloquent/Relations/HasOneOrMany.html