Spec-Zone.ru › Laravel 5.8

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)

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

Параметры

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

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

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

Исключения

BadMethodCallException

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

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

Параметры

строка $method

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

void

Исключения

BadMethodCallException

static void macro(строка $name, object|callable $macro)

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

Параметры

строка $name
object|callable $macro

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

void

static void mixin(object $mixin, bool $replace = true)

Смешать другой объект в класс.

Параметры

object $mixin
bool $replace

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

void

Исключения

ReflectionException
END_OF_DOCUMENT_MARKER

static bool hasMacro(string $name)

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

Parameters

string $name

Return Value

bool

static mixed __callStatic(string $method, array $parameters)

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

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

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

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

void __construct(Builder $query, Model $parent, string $foreignKey, string $localKey)

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

Parameters

Builder $query
Model $parent
string $foreignKey
string $localKey

Return Value

void

static mixed noConstraints(Closure $callback)

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

Parameters

Closure $callback

Return Value

mixed

void addConstraints()

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

Return Value

void

void addEagerConstraints(array $models)

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

Parameters

array $models

Return Value

void

abstract array initRelation(array $models, string $relation)

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

Parameters

array $models
string $relation

Return Value

array

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

abstract mixed getResults()

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

Return Value

mixed

Collection getEager()

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

Return Value

Collection

Collection get(array $columns = ['*'])

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

Parameters

array $columns

Return Value

Collection

void touch()

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

Return Value

void

int rawUpdate(array $attributes = [])

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

Parameters

array $attributes

Return Value

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Parameters

Builder $query
Builder $parentQuery

Return Value

Builder

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

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

Parameters

Builder $query
Builder $parentQuery
array|mixed $columns

Return Value

Builder

protected array getKeys(array $models, string $key = null)

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

Parameters

array $models
string $key

Return Value

array

Builder getQuery()

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

Return Value

Builder

Builder getBaseQuery()

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

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

Получить имя столбца «created at».

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

string

string updatedAt()

Получить имя столбца «updated at».

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

string

string relatedUpdatedAt()

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

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

string

protected string whereInMethod(Модель $model, string $key)

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

Параметры

Модель $model
string $key

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

string

static array morphMap(array $map = null, bool $merge = true)

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

Параметры

array $map
bool $merge

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

array

static protected array|null buildMorphMapFromModels(array $models = null)

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

Параметры

array $models

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

array|null

static string|null getMorphedModel(string $alias)

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

Параметры

string $alias

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

string|null

void __clone()

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

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

void

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

array $models
Коллекция $results
string $relation

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

array

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

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

Параметры

array $models
Коллекция $results
string $relation

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

array

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

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

Параметры

array $models
Коллекция $results
string $relation
string $type

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

array

protected mixed getRelationValue(array $dictionary, string $key, string $type)

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

Параметры

array $dictionary
string $key
string $type

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

mixed

protected array buildDictionary(Коллекция $results)

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

Параметры

Коллекция $results

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

array

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

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

Параметры

mixed $id
array $columns

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

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

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

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

Параметры

array $attributes
array $values

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

Модель

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

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

Параметры

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

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

Модель

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

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

Параметры

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

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

Модель

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

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

Параметры

Модель $model

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

Модель|false

iterable saveMany(iterable $models)

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

Параметры

iterable $models

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

iterable

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

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

Параметры

массив $attributes

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

Модель

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

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

Параметры

массив $records

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

Коллекция

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

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

Параметры

Модель $model

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

void

Библиотека getRelationExistenceQueryForSelfRelation(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*'])

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

Параметры

Библиотека $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

Spec-Zone.ru

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