Spec-Zone.ru › Laravel 7

HasOne

класс HasOne расширяет HasOneOrMany (Просмотреть исходный код)

Свойства

SupportsDefaultModels
ForwardsCalls
Macroable

Свойства

статический защищённый массив $macros

Зарегистрированные строковые макросы.

из Macroable
защищённый Builder $query

Экземпляр билдера запросов Eloquent.

из Relation
защищённый Model $parent

Экземпляр родительской модели.

из Relation
защищённый Model $related

Экземпляр связанной модели.

из Relation
статический защищённый bool $constraints

Указывает, добавляет ли отношение ограничения.

из Relation
статический массив $morphMap

Массив для сопоставления имён классов с их именами морфий в базе данных.

из Relation
защищённая строка $foreignKey

Внешний ключ родительской модели.

из HasOneOrMany
защищённая строка $localKey

Локальный ключ родительской модели.

из HasOneOrMany
статический защищённый int $selfJoinCount

Количество самосоединений.

из HasOneOrMany
защищённый Closure|массив|bool $withDefault

Указывает, следует ли использовать экземпляр модели по умолчанию.

из SupportsDefaultModels

Методы

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)

Создать новый экземпляр отношения "один к одному" или "один ко многим".

from HasOneOrMany
static mixed noConstraints(Closure $callback)

Выполнить обратный вызов с отключенными ограничениями в отношении.

from Relation
void addConstraints()

Установить базовые ограничения для запроса отношения.

from HasOneOrMany
void addEagerConstraints(array $models)

Установить ограничения для нетерпеливой загрузки отношения.

from HasOneOrMany
array initRelation(array $models, string $relation)

Инициализировать отношение в наборе моделей.

array match(array $models, Collection $results, string $relation)

Сопоставить нетерпеливо загруженные результаты с их родителями.

mixed getResults()

Получить результаты отношения.

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 = ['*'])

Добавить ограничения для запроса отношений.

from HasOneOrMany
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()

Получить полностью определенное имя родительского ключа.

from HasOneOrMany
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" для леничной загрузки.

из 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)

Получить модель, связанную с пользовательским полиморфным типом.

из Relation
void __clone()

Принудительно клонировать подчинённый билдер запросов при клонировании.

из Relation
Model make(array $attributes = [])

Создать и вернуть незасохранённый экземпляр связанной модели.

из HasOneOrMany
Collection makeMany(iterable $records)

Создать и вернуть незасохранённые экземпляры связанных моделей.

из HasOneOrMany
array matchOne(array $models, Collection $results, string $relation)

Сопоставить результаты леничной загрузки с их единственными родителями.

из HasOneOrMany
array matchMany(array $models, Collection $results, string $relation)

Сопоставить результаты леничной загрузки со многими родителями.

из HasOneOrMany
array matchOneOrMany(array $models, Collection $results, string $relation, string $type)

Сопоставить результаты леничной загрузки со многими родителями.

из HasOneOrMany
mixed getRelationValue(array $dictionary, string $key, string $type)

Получить значение отношения по типу один или многие.

из HasOneOrMany
array buildDictionary(Collection $results)

Создать словарь моделей, индексированный по внешнему ключу отношения.

из HasOneOrMany
Collection|Model findOrNew(mixed $id, array $columns = ['*'])

Найти модель по первичному ключу или вернуть новый экземпляр связанной модели.

из HasOneOrMany
Model firstOrNew(array $attributes, array $values = [])

Получить первую связанную модель, соответствующую атрибутам, или создать её.

из HasOneOrMany
Model firstOrCreate(array $attributes, array $values = [])

Получить первое соответствующее запись или создать её.

из HasOneOrMany
Model updateOrCreate(array $attributes, array $values = [])

Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.

из HasOneOrMany
Model|false save(Model $model)

Прикрепить экземпляр модели к родительской модели.

из HasOneOrMany
iterable saveMany(iterable $models)

Прикрепить коллекцию моделей к родительскому экземпляру.

из HasOneOrMany
Model create(array $attributes = [])

Создать новый экземпляр связанной модели.

из HasOneOrMany
Collection createMany(iterable $records)

Создать коллекцию новых экземпляров связанной модели.

из HasOneOrMany
void setForeignAttributesForCreate(Model $model)

Установить внешний ID для создания связанной модели.

из HasOneOrMany
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для запроса отношений на той же таблице.

из HasOneOrMany
string getRelationCountHash()

Получить хэш таблицы объединения отношений.

из HasOneOrMany
string getExistenceCompareKey()

Получить ключ для сравнения с родительским ключом в запросе "has".

из HasOneOrMany
mixed getParentKey()

Получить значение ключа родительского локального ключа.

из HasOneOrMany
string getForeignKeyName()

Получить простой внешний ключ.

из HasOneOrMany
строка getQualifiedForeignKeyName()

Получить внешний ключ для связи.

из HasOneOrMany
строка getLocalKeyName()

Получить локальный ключ для связи.

из HasOneOrMany
Модель newRelatedInstanceFor(Модель $parent)

Создать новый связанный экземпляр для заданной модели.

$this withDefault(Closure|массив|булево $callback = true)

Возвратить новый экземпляр модели в случае, если связь не существует.

из SupportsDefaultModels
Модель|null getDefaultFor(Модель $parent)

Получить значение по умолчанию для этой связи.

из SupportsDefaultModels

Подробности

protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)

Перенаправить вызов метода к заданному объекту.

Параметры

смешанный $object
строка $method
массив $parameters

Возвращаемое значение

смешанный

Исключения

BadMethodCallException

static protected void throwBadMethodCallException(строка $method)

Выбросить исключение BadMethodCallException для указанного метода.

Параметры

строка $method

Возвращаемое значение

void

Исключения

BadMethodCallException

static void macro(строка $name, объект|вызываемый $macro)

Зарегистрировать пользовательское макро.

Параметры

строка $name
объект|вызываемый $macro

Возвращаемое значение

void

static void mixin(объект $mixin, булево $replace = true)

Добавить другой объект в класс.

Параметры

объект $mixin
булево $replace

Возвращаемое значение

void

Исключения

ReflectionException

static булево hasMacro(строка $name)

Проверяет, зарегистрировано ли макро.

Параметры

строка $name

Возвращаемое значение

булево

static смешанный __callStatic(строка $method, массив $parameters)

Динамически обрабатывает вызовы класса.

Параметры

строка $method
массив $parameters

Возвращаемое значение

смешанный

Исключения

BadMethodCallException

смешанный __call(строка $method, массив $parameters)

Динамически обрабатывает вызовы класса.

Параметры

строка $method
массив $parameters

Возвращаемое значение

смешанный

Исключения

BadMethodCallException

void __construct(Построитель $query, Модель $parent, строка $foreignKey, строка $localKey)

Создать новый экземпляр связи один к одному или один ко многим.

Параметры

Построитель $query
Модель $parent
строка $foreignKey
строка $localKey

Возвращаемое значение

void

static смешанный noConstraints(Closure $callback)

Выполнить обратный вызов без ограничений на связи.

Параметры

Closure $callback

Возвращаемое значение

смешанный

void addConstraints()

Установить базовые ограничения на запрос связи.

Возвращаемое значение

void

void addEagerConstraints(массив $models)

Установить ограничения для отложенной загрузки связи.

Параметры

массив $models

Возвращаемое значение

void

массив initRelation(массив $models, строка $relation)

Инициализировать связь на наборе моделей.

Параметры

массив $models
строка $relation

Возвращаемое значение

массив

массив match(массив $models, Коллекция $results, строка $relation)

Сопоставить загруженные в отложенном режиме результаты с их родительскими элементами.

Параметры

массив $models
Коллекция $results
строка $relation

Возвращаемое значение

массив

смешанный getResults()

Получить результаты связи.

Возвращаемое значение

смешанный

Коллекция getEager()

Получить отношение для ленивой загрузки.

Значение возврата

Коллекция

Коллекция get(array $columns = ['*'])

Выполнить запрос как операцию «выбрать».

Параметры

массив $columns

Значение возврата

Коллекция

void touch()

Обновить все связанные модели для отношения.

Значение возврата

void

int rawUpdate(array $attributes = [])

Выполнить «сырое» обновление по базовому запросу.

Параметры

массив $attributes

Значение возврата

int

Билдер getRelationExistenceCountQuery(Билдер $query, Билдер $parentQuery)

Добавить ограничения для запроса подсчета существования отношения.

Параметры

Билдер $query
Билдер $parentQuery

Значение возврата

Билдер

Билдер getRelationExistenceQuery(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для запроса отношения.

Параметры

Билдер $query
Билдер $parentQuery
массив|смешанный тип $columns

Значение возврата

Билдер

protected массив getKeys(array $models, string|null $key = null)

Получить все первичные ключи для массива моделей.

Параметры

массив $models
строка|null $key

Значение возврата

массив

Билдер getQuery()

Получить базовый запрос для отношения.

Значение возврата

Билдер

Билдер getBaseQuery()

Получить базовый билдер запросов, используемый Eloquent билдером.

Значение возврата

Билдер

Модель getParent()

Получить родительскую модель отношения.

Значение возврата

Модель

строка getQualifiedParentKeyName()

Получить полное имя родительского ключа.

Значение возврата

строка

Модель getRelated()

Получить связанную модель отношения.

Значение возврата

Модель

строка createdAt()

Получить имя столбца «создано в».

Значение возврата

строка

строка updatedAt()

Получить имя столбца «обновлено в».

Значение возврата

строка

строка relatedUpdatedAt()

Получить имя столбца «обновлено в» для связанной модели.

Значение возврата

строка

protected строка whereInMethod(Модель $model, string $key)

Получить имя метода «where in» для ленивой загрузки.

Параметры

Модель $model
строка $key

Значение возврата

строка

static массив morphMap(array $map = null, bool $merge = true)

Установить или получить карту морфинга для полиморфных отношений.

Параметры

массив $map
логическое значение $merge

Значение возврата

массив

static protected массив|null buildMorphMapFromModels(array $models = null)

Создает массив, индексированный таблицами, из имен классов моделей.

Параметры

массив $models

Значение возврата

массив|null

static строка|null getMorphedModel(string $alias)

Получить модель, связанную с пользовательским полиморфным типом.

Параметры

строка $alias

Значение возврата

строка|null

void __clone()

Принудительно клонировать базовый билдер запросов при клонировании.

Значение возврата

void

Модель make(array $attributes = [])

Создать и вернуть несохраненный экземпляр связанной модели.

Параметры

массив $attributes

Значение возврата

Модель
END_OF_DOCUMENT_MARKER

Коллекция makeMany(iterable $records)

Создать и вернуть несохранённые экземпляры связанных моделей.

Параметры

iterable $records

Возвращаемое значение

Коллекция

массив matchOne(array $models, Коллекция $results, string $relation)

Сопоставить загруженные с жадностью результаты с их единственными родителями.

Параметры

массив $models
Коллекция $results
строка $relation

Возвращаемое значение

массив

массив matchMany(array $models, Коллекция $results, string $relation)

Сопоставить загруженные с жадностью результаты с их многими родителями.

Параметры

массив $models
Коллекция $results
строка $relation

Возвращаемое значение

массив

protected массив matchOneOrMany(array $models, Коллекция $results, string $relation, string $type)

Сопоставить загруженные с жадностью результаты с их многими родителями.

Параметры

массив $models
Коллекция $results
строка $relation
строка $type

Возвращаемое значение

массив

protected смешанный тип getRelationValue(array $dictionary, string $key, string $type)

Получить значение связи по типу один или многие.

Параметры

массив $dictionary
строка $key
строка $type

Возвращаемое значение

смешанный тип

protected массив buildDictionary(Коллекция $results)

Создать словарь модели, индексированный по внешнему ключу связи.

Параметры

Коллекция $results

Возвращаемое значение

массив

Коллекция|Модель findOrNew(mixed $id, array $columns = ['*'])

Найти модель по первичному ключу или вернуть новый экземпляр связанной модели.

Параметры

смешанный тип $id
массив $columns

Возвращаемое значение

Коллекция|Модель

Модель firstOrNew(array $attributes, array $values = [])

Получить первую запись связанной модели, соответствующую атрибутам, или создать её.

Параметры

массив $attributes
массив $values

Возвращаемое значение

Модель

Модель firstOrCreate(array $attributes, array $values = [])

Получить первую запись, соответствующую атрибутам, или создать её.

Параметры

массив $attributes
массив $values

Возвращаемое значение

Модель

Модель updateOrCreate(array $attributes, array $values = [])

Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями.

Параметры

массив $attributes
массив $values

Возвращаемое значение

Модель

Модель|false save(Модель $model)

Прикрепить экземпляр модели к родительской модели.

Параметры

Модель $model

Возвращаемое значение

Модель|false

итерируемый объект saveMany(iterable $models)

Прикрепить коллекцию моделей к родительскому экземпляру.

Параметры

итерируемый объект $models

Возвращаемое значение

итерируемый объект

Модель create(array $attributes = [])

Создать новый экземпляр связанной модели.

Параметры

массив $attributes

Возвращаемое значение

Модель

Коллекция createMany(iterable $records)

Создать коллекцию новых экземпляров связанной модели.

Параметры

итерируемый объект $records

Возвращаемое значение

Коллекция

protected void setForeignAttributesForCreate(Модель $model)

Установить внешний идентификатор для создания связанной модели.

Параметры

Модель $model

Возвращаемое значение

void

Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])

Добавить ограничения для запроса к связи на той же таблице.

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

Возвращаемое значение

Builder

string getRelationCountHash()

Получить хеш таблицы соединения для связи.

Возвращаемое значение

string

string getExistenceCompareKey()

Получить ключ для сравнения с ключом родительской записи в запросе "has".

Возвращаемое значение

string

mixed getParentKey()

Получить значение ключа родительской записи.

Возвращаемое значение

mixed

string getForeignKeyName()

Получить простое имя внешнего ключа.

Возвращаемое значение

string

string getQualifiedForeignKeyName()

Получить имя внешнего ключа для связи.

Возвращаемое значение

string

string getLocalKeyName()

Получить локальный ключ для связи.

Возвращаемое значение

string

Model newRelatedInstanceFor(Model $parent)

Создать новую связанную запись для указанной модели.

Параметры

Model $parent

Возвращаемое значение

Model

$this withDefault(Closure|array|bool $callback = true)

Возвратить новую модель, если связи не существует.

Параметры

Closure|array|bool $callback

Возвращаемое значение

$this

protected Model|null getDefaultFor(Model $parent)

Получить значение по умолчанию для этой связи.

Параметры

Model $parent

Возвращаемое значение

Model|null

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Database/Eloquent/Relations/HasOne.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API