HasOneOrMany
абстрактный класс HasOneOrMany расширяет Relation (View source)
Свойства
| InteractsWithDictionary | |
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый Builder | $query | Экземпляр Eloquent-билдера запросов. | из Relation |
| защищённый Model | $parent | Экземпляр родительской модели. | из Relation |
| защищённый Model | $related | Экземпляр связанной модели. | из Relation |
| статический защищённый булево значение | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами морф в базе данных. | из Relation |
| статический защищённый булево значение | $requireMorphMap | Препятствует морф-отношениям без морф-карты. | из Relation |
| статический защищённый целое число | $selfJoinCount | Количество самосоединений. | из Relation |
| защищённая строка | $foreignKey | Внешний ключ родительской модели. | |
| защищённая строка | $localKey | Локальный ключ родительской модели. |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту. | from ForwardsCalls |
| mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту, вернув $this, если переданный вызов вернул себя. | 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 void | flushMacros()
Очистить существующие макросы. | 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 |
| Model | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись. | from Relation |
| Collection | get(array $columns = ['*'])
Выполнить запрос как операцию «выбор». | 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 = ['*'])
Добавить ограничения для запроса отношения. | |
| string | getRelationCountHash(bool $incrementJoinCount = true)
Получить хэш таблицы соединения отношения. | from Relation |
| array | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | from Relation |
| Builder | getRelationQuery()
Получить объект построения запроса, содержащий ограничения отношения. | from Relation |
| Builder | getQuery()
Получить базовый запрос для отношения. | from Relation |
| Builder | getBaseQuery()
Получить базовый объект построения запроса, управляющий Eloquent объектом построения запроса. | from Relation |
| Model | getParent()
Получить родительскую модель отношения. | from Relation |
| string | getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа. | |
| Model | getRelated()
Получить связанную модель отношения. | из Relation |
| string | createdAt()
Получить имя столбца "created at". | из Relation |
| string | updatedAt()
Получить имя столбца "updated at". | из Relation |
| string | relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели. | из Relation |
| string | whereInMethod(Model $model, string $key)
Получить имя метода "where in" для ленивой загрузки. | из Relation |
| static void | requireMorphMap(bool $requireMorphMap = true)
Предотвратить использование полиморфных отношений без сопоставления моделей. | из Relation |
| static bool | requiresMorphMap()
Определить, требуют ли полиморфные отношения явного сопоставления моделей. | из Relation |
| static array | enforceMorphMap(array $map, bool $merge = true)
Определить сопоставление morph для полиморфных отношений и потребовать, чтобы все модели morph были явно сопоставлены. | из Relation |
| static array | morphMap(array $map = null, bool $merge = true)
Установить или получить сопоставление morph для полиморфных отношений. | из Relation |
| static array|null | buildMorphMapFromModels(array $models = null)
Создает таблично-ключевой массив из имен классов моделей. | из Relation |
| static string|null | getMorphedModel(string $alias)
Получить модель, связанную с типом custom polymorphic. | из Relation |
| void | __clone()
Вызвать клон базового билдера запроса при клонировании. | из Relation |
| mixed | getDictionaryKey(mixed $attribute)
Получить атрибут ключа словаря, при необходимости приведя его к строковому типу. | из InteractsWithDictionary |
| Model | make(array $attributes = [])
Создать и вернуть несохраненный экземпляр связанной модели. | |
| Collection | makeMany(iterable $records)
Создать и вернуть несохраненные экземпляры связанных моделей. | |
| array | matchOne(array $models, Collection $results, string $relation)
Сопоставить загруженные результаты с их единственными родителями. | |
| array | matchMany(array $models, Collection $results, string $relation)
Сопоставить загруженные результаты с их множественными родителями. | |
| array | matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставить загруженные результаты с их множественными родителями. | |
| mixed | getRelationValue(array $dictionary, string $key, string $type)
Получить значение отношения по одному или множественному типу. | |
| array | buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу отношения. | |
| Collection|Model | findOrNew(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр связанной модели. | |
| Model | firstOrNew(array $attributes = [], array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать ее экземпляр. | |
| Model | firstOrCreate(array $attributes = [], array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать ее. | |
| Model | updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить ее значениями. | |
| Model|false | save(Model $model)
Прикрепить экземпляр модели к родительской модели. | |
| iterable | saveMany(iterable $models)
Прикрепить коллекцию моделей к родительскому экземпляру. | |
| Model | create(array $attributes = [])
Создать новый экземпляр связанной модели. | |
| Model | forceCreate(array $attributes = [])
Создать новый экземпляр связанной модели. Разрешить массовое назначение. | |
| Collection | createMany(iterable $records)
Создать коллекцию новых экземпляров связанной модели. | |
| void | setForeignAttributesForCreate(Model $model)
Установить внешний идентификатор для создания связанной модели. | |
| Builder | getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на той же таблице. |
| string | getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has". | |
| mixed | getParentKey()
Получить значение ключа родительского локального ключа. | |
| string | getForeignKeyName()
Получить простой внешний ключ. | |
| string | getQualifiedForeignKeyName()
Получить внешний ключ для связи. | |
| string | getLocalKeyName()
Получить локальный ключ для связи. |
Подробности
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода к заданному объекту.
protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода к заданному объекту, возвращая $this, если перенаправленный вызов вернул себя.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение неправильного вызова метода для данного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательский макрос.
static void mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс.
static bool hasMacro(string $name)
Проверяет, зарегистрирован ли макрос.
static void flushMacros()
Очистить существующие макросы.
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()
Получить результаты отношения.
Коллекция getEager()
Получить отношение для ленивой загрузки.
Модель sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись.
Коллекция get(array $columns = ['*'])
Выполнить запрос в качестве оператора «select».
void touch()
Обновить все связанные модели для отношения.
int rawUpdate(array $attributes = [])
Выполнить прямое обновление базы данных по основному запросу.
Билдер getRelationExistenceCountQuery(Билдер $query, Билдер $parentQuery)
Добавить ограничения для запроса подсчета существования отношения.
Билдер getRelationExistenceQuery(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения.
string getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш таблицы соединения отношения.
protected array getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
protected Билдер getRelationQuery()
Получить билдер запроса, содержащий ограничения отношения.
Билдер getQuery()
Получить базовый запрос для отношения.
Билдер 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 void requireMorphMap(bool $requireMorphMap = true)
Предотвратить использование полиморфных отношений без сопоставления моделей.
статический bool requiresMorphMap()
Определить, требуют ли полиморфные отношения явное сопоставление модели.
статический array enforceMorphMap(array $map, bool $merge = true)
Определить карту морфирования для полиморфных отношений и потребовать, чтобы все модели морфирования были явно сопоставлены.
статический array morphMap(array $map = null, bool $merge = true)
Установить или получить карту морфирования для полиморфных отношений.
статический защищенный array|null buildMorphMapFromModels(array $models = null)
Создает массив с ключами-таблицами из имен классов моделей.
статический string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
защищенный смешанный getDictionaryKey(смешанный $attribute)
Получить атрибут ключа словаря — привести его к строке при необходимости.
Модель make(array $attributes = [])
Создать и вернуть несохраненный экземпляр связанной модели.
Коллекция makeMany(iterable $records)
Создать и вернуть несохраненный экземпляр связанных моделей.
array matchOne(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственными родительскими элементами.
array matchMany(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их множественными родительскими элементами.
защищенный array matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты с их множественными родительскими элементами.
защищенный смешанный getRelationValue(array $dictionary, string $key, string $type)
Получить значение отношения по типу один или много.
защищенный array buildDictionary(Коллекция $results)
Создает словарь моделей, индексируемый по внешнему ключу отношения.
Коллекция|Модель findOrNew(смешанный $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 = [])
Создать новый экземпляр связанной модели.
Модель forceCreate(array $attributes = [])
Создать новый экземпляр связанной модели. Разрешить масс-назначение.
Коллекция createMany(iterable $records)
Создать Коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор для создания связанной модели.
Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношений на том же столе.
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/8.x/Illuminate/Database/Eloquent/Relations/HasOneOrMany.html