Spec-Zone.ru › Laravel 10

MorphOne

class MorphOne extends MorphOneOrMany implements SupportsPartialRelations (View source)

Свойства

CanBeOneOfMany
ComparesRelatedModels
SupportsDefaultModels
InteractsWithDictionary
ForwardsCalls
Macroable

Свойства

static protected array $macros

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

from Macroable
protected Builder $query

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

from Relation
protected Model $parent

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

from Relation
protected Model $related

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

from Relation
protected bool $eagerKeysWereEmpty

Указывает, должна ли неявно возвращаться пустая коллекция при жадной загрузке отношения.

from Relation
static protected bool $constraints

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

from Relation
static array $morphMap

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

from Relation
static protected bool $requireMorphMap

Предотвращает морфные отношения без морфного отображения.

from Relation
static protected int $selfJoinCount

Количество самосвязей.

from Relation
protected string $foreignKey

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

from HasOneOrMany
protected string $localKey

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

from HasOneOrMany
protected string $morphType

Тип внешнего ключа для отношения.

from MorphOneOrMany
protected string $morphClass

Имя класса родительской модели.

from MorphOneOrMany
protected bool $isOneOfMany

Определяет, является ли отношение один-ко-многим.

from CanBeOneOfMany
protected string $relationName

Имя отношения.

from CanBeOneOfMany
protected Builder|null $oneOfManySubQuery

Экземпляр одного-из-многих внутреннего соединения подзапроса.

from CanBeOneOfMany
protected Closure|array|bool $withDefault

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

from SupportsDefaultModels

Методы

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)

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

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 $type, string $id, string $localKey)

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

from MorphOneOrMany
static mixed noConstraints(Closure $callback)

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

from Relation
void addConstraints()

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

from MorphOneOrMany
void addEagerConstraints(array $models)

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

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

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

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

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

mixed getResults()

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

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 CanBeOneOfMany
Builder getQuery()

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

from Relation
Builder getBaseQuery()

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

from Relation
Builder toBase()

Получить экземпляр базового билдера запроса.

from Relation
Модель getParent()

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

из Отношения
строка getQualifiedParentKeyName()

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

из ОдинК одномуИлиНесколькоК одному
Модель getRelated()

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

из Отношения
строка createdAt()

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

из Отношения
строка updatedAt()

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

из Отношения
строка relatedUpdatedAt()

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

из Отношения
пустое значение whereInEager(строка $whereIn, строка $key, массив $modelKeys, Построитель $query = null)

Добавить ограничение whereIn для загрузки заданного набора ключей моделей.

из Отношения
строка whereInMethod(Модель $model, строка $key)

Получить имя метода «where in» для загрузки с помощью eager loading.

из Отношения
статический void requireMorphMap(bool $requireMorphMap = true)

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

из Отношения
статический bool requiresMorphMap()

Определить, требуют ли полиморфные отношения явное сопоставление моделей.

из Отношения
статический массив enforceMorphMap(массив $map, bool $merge = true)

Определить морф-сопоставление для полиморфных отношений и потребовать явного сопоставления всех моделей с морфированием.

из Отношения
статический массив morphMap(массив $map = null, bool $merge = true)

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

из Отношения
статический массив|null buildMorphMapFromModels(массив $models = null)

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

из Отношения
статический строка|null getMorphedModel(строка $alias)

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

из Отношения
пустое значение __clone()

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

из Отношения
смешанный тип getDictionaryKey(смешанный тип $attribute)

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

из Взаимодействие со словарем
Модель make(массив $attributes = [])

Создать и вернуть несохранённую инстанцию связанной модели.

из ОдинК одномуИлиНесколькоК одному
Коллекция makeMany(итерируемый $records)

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

из ОдинК одномуИлиНесколькоК одному
массив matchOne(массив $models, Коллекция $results, строка $relation)

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

из ОдинК одномуИлиНесколькоК одному
массив matchMany(массив $models, Коллекция $results, строка $relation)

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

из ОдинК одномуИлиНесколькоК одному
массив matchOneOrMany(массив $models, Коллекция $results, строка $relation, строка $type)

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

из ОдинК одномуИлиНесколькоК одному
смешанный тип getRelationValue(массив $dictionary, строка $key, строка $type)

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

из ОдинК одномуИлиНесколькоК одному
массив buildDictionary(Коллекция $results)

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

из ОдинК одномуИлиНесколькоК одному
Коллекция|Модель findOrNew(смешанный тип $id, массив $columns = ['*'])

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

из ОдинК одномуИлиНесколькоК одному
Модель firstOrNew(массив $attributes = [], массив $values = [])

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

из ОдинК одномуИлиНесколькоК одному
Модель firstOrCreate(массив $attributes = [], массив $values = [])

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

из ОдинК одномуИлиНесколькоК одному
Модель createOrFirst(массив $attributes = [], массив $values = [])

Попытка создания записи. Если происходит нарушение уникальности, то поиск соответствующей записи.

из ОдинК одномуИлиНесколькоК одному
Модель updateOrCreate(array $attributes, array $values = [])

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

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

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

из HasOneOrMany
Модель|false saveQuietly(Модель $model)

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

из HasOneOrMany
iterable saveMany(iterable $models)

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

из HasOneOrMany
iterable saveManyQuietly(iterable $models)

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

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

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

из HasOneOrMany
Модель createQuietly(array $attributes = [])

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

из HasOneOrMany
Модель forceCreate(array $attributes = [])

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

из MorphOneOrMany
Модель forceCreateQuietly(array $attributes = [])

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

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

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

из HasOneOrMany
Коллекция createManyQuietly(iterable $records)

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

из HasOneOrMany
void setForeignAttributesForCreate(Модель $model)

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

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

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

из HasOneOrMany
string getExistenceCompareKey()

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

из HasOneOrMany
mixed getParentKey()

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

из ComparesRelatedModels
string getForeignKeyName()

Получить обычный внешний ключ.

из HasOneOrMany
string getQualifiedForeignKeyName()

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

из HasOneOrMany
string getLocalKeyName()

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

из HasOneOrMany
string getQualifiedMorphType()

Получить имя внешнего ключа "type".

из MorphOneOrMany
string getMorphType()

Получить имя простого морфного типа без таблицы.

из MorphOneOrMany
string getMorphClass()

Получить имя класса родительской модели.

из MorphOneOrMany
void addOneOfManySubQueryConstraints(Билдер $query, string|null $column = null, string|null $aggregate = null)

Добавить ограничения для внутреннего подзапроса объединения для отношений one-to-many.

array|string getOneOfManySubQuerySelectColumns()

Получить столбцы, которые должны быть выбраны подзапросом one-to-many.

void addOneOfManyJoinSubQueryConstraints(JoinClause $join)

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

$this ofMany(string|array|null $column = 'id', string|Closure|null $aggregate = 'MAX', string|null $relation = null)

Указать, что связь - это единственный результат более сложной связи one-to-many.

из CanBeOneOfMany
$this latestOfMany(string|array|null $column = 'id', string|null $relation = null)

Указать, что связь - это самый последний единственный результат более сложной связи one-to-many.

из CanBeOneOfMany
$this oldestOfMany(string|array|null $column = 'id', string|null $relation = null)

Укажите, что отношение — это самый старый единственный результат более сложного отношения один-ко-многим.

из CanBeOneOfMany
string getDefaultOneOfManyJoinAlias(string $relation)

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

из CanBeOneOfMany
Builder newOneOfManySubQuery(string|array $groupBy, string[]|null $columns = null, string|null $aggregate = null)

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

из CanBeOneOfMany
void addOneOfManyJoinSubQuery(Builder $parent, Builder $subQuery, string[] $on)

Добавить подзапрос соединения к заданному запросу по заданному столбцу и внешнему ключу отношения.

из CanBeOneOfMany
void mergeOneOfManyJoinsTo(Builder $query)

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

из CanBeOneOfMany
Builder|void getOneOfManySubQuery()

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

из CanBeOneOfMany
string qualifySubSelectColumn(string $column)

Получить квалифицированное имя столбца для отношения один-ко-многим, используя псевдоним подзапроса соединения.

из CanBeOneOfMany
string qualifyRelatedColumn(string $column)

Квалифицировать связанный столбец, используя имя связанной таблицы, если он не квалифицирован.

из CanBeOneOfMany
string guessRelationship()

Угадать имя отношения «один-к-одному» через стек вызовов.

из CanBeOneOfMany
bool isOneOfMany()

Определить, является ли отношение отношением один-ко-многим.

из CanBeOneOfMany
string getRelationName()

Получить имя отношения.

из CanBeOneOfMany
bool is(Model|null $model)

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

из ComparesRelatedModels
bool isNot(Model|null $model)

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

из ComparesRelatedModels
mixed getRelatedKeyFrom(Model $model)

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

bool compareKeys(mixed $parentKey, mixed $relatedKey)

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

из ComparesRelatedModels
Model newRelatedInstanceFor(Model $parent)

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

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

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

из SupportsDefaultModels
Model|null getDefaultFor(Model $parent)

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

из SupportsDefaultModels

Подробности

protected mixed forwardCallTo(mixed $object, string $method, array $parameters)

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

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

Переадресовать вызов метода заданному объекту, вернув $this, если переадресованный вызов вернул себя.

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

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

Parameters

string $method

Return Value

void

Exceptions

BadMethodCallException

static void macro(string $name, object|callable $macro)

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

Parameters

string $name
object|callable $macro

Return Value

void
END_OF_DOCUMENT_MARKER

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

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

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

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

Parameters

string $name

Return Value

bool

static void flushMacros()

Очистить существующие макросы.

Return Value

void

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 $type, string $id, string $localKey)

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

Parameters

Builder $query
Model $parent
string $type
string $id
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

array initRelation(array $models, string $relation)

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

Parameters

array $models
string $relation

Return Value

array

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

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

mixed getResults()

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

Return Value

mixed

Collection getEager()

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

Return Value

Collection

Model sole(array|string $columns = ['*'])

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

Parameters

array|string $columns

Return Value

Model

Exceptions

Model>
MultipleRecordsFoundException

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
END_OF_DOCUMENT_MARKER

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder

string getRelationCountHash(bool $incrementJoinCount = true)

Получить хеш для подсчета записей связи.

Параметры

bool $incrementJoinCount

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

string

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

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

Параметры

array $models
string|null $key

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

array

protected Builder getRelationQuery()

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

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

Builder

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Builder toBase()

Получить экземпляр базового билдера запроса.

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

Builder

Модель getParent()

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

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

Модель

string getQualifiedParentKeyName()

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

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

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder $query = null)

Добавить ограничение whereIn для загрузки заданного набора ключей моделей.

Параметры

string $whereIn
string $key
array $modelKeys
Builder $query

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

void

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

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

Параметры

Модель $model
string $key

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

string

static void requireMorphMap(bool $requireMorphMap = true)

Препятствовать использованию полиморфных связей без отображений моделей.

Параметры

bool $requireMorphMap

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

void

static bool requiresMorphMap()

Определить, требуют ли полиморфные связи явное отображение моделей.

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

bool

static array enforceMorphMap(array $map, bool $merge = true)

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

Параметры

array $map
bool $merge

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

array

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

Установить или получить отображение полиморфных связей.

Параметры

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

protected mixed getDictionaryKey(mixed $attribute)

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

Параметры

mixed $attribute

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

mixed

Исключения

InvalidArgumentException

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

Создать и вернуть незасохранённую сущность связанной модели.

Параметры

array $attributes

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

Модель

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

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

Параметры

iterable $records

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

Коллекция

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

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

Параметры

array $attributes
array $values

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

Модель

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

Попытаться создать запись. Если произойдёт нарушение уникального ограничения, попытаться найти соответствующую запись.

Параметры

array $attributes
array $values

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

Модель

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

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

Параметры

array $attributes
array $values

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

Модель

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

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

Параметры

Модель $model

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

Модель|false

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

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

Параметры

Модель $model

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

Модель|false

iterable saveMany(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

iterable saveManyQuietly(iterable $models)

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

Parameters

iterable $models

Return Value

iterable

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

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

Parameters

array $attributes

Return Value

Модель

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

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

Parameters

array $attributes

Return Value

Модель

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

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

Parameters

array $attributes

Return Value

Модель

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

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

Parameters

array $attributes

Return Value

Модель

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

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

Parameters

iterable $records

Return Value

Коллекция

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

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

Parameters

iterable $records

Return Value

Коллекция

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

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

Parameters

Модель $model

Return Value

void

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

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

Parameters

Билдер $query
Билдер $parentQuery
array|mixed $columns

Return Value

Билдер

string getExistenceCompareKey()

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

Return Value

string

abstract mixed getParentKey()

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

Return Value

mixed

string getForeignKeyName()

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

Return Value

string

string getQualifiedForeignKeyName()

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

Return Value

string

string getLocalKeyName()

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

Return Value

string

string getQualifiedMorphType()

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

Return Value

string

string getMorphType()

Получить простое имя типа морфизма без таблицы.

Return Value

string

string getMorphClass()

Получить имя класса родительской модели.

Return Value

string

void addOneOfManySubQueryConstraints(Билдер $query, string|null $column = null, string|null $aggregate = null)

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

Parameters

Билдер $query
string|null $column
string|null $aggregate

Return Value

void

array|string getOneOfManySubQuerySelectColumns()

Получить столбцы, которые должны быть выбраны подзапросом «один из многих».

Return Value

array|string

void addOneOfManyJoinSubQueryConstraints(JoinClause $join)

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

Параметры

JoinClause $join

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

void

$this ofMany(string|array|null $column = 'id', string|Closure|null $aggregate = 'MAX', string|null $relation = null)

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

Параметры

string|array|null $column
string|Closure|null $aggregate
string|null $relation

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

$this

Исключения

InvalidArgumentException

$this latestOfMany(string|array|null $column = 'id', string|null $relation = null)

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

Параметры

string|array|null $column
string|null $relation

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

$this

$this oldestOfMany(string|array|null $column = 'id', string|null $relation = null)

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

Параметры

string|array|null $column
string|null $relation

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

$this

protected string getDefaultOneOfManyJoinAlias(string $relation)

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

Параметры

string $relation

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

string

protected Builder newOneOfManySubQuery(string|array $groupBy, string[]|null $columns = null, string|null $aggregate = null)

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

Параметры

string|array $groupBy
string[]|null $columns
string|null $aggregate

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

Builder

protected void addOneOfManyJoinSubQuery(Builder $parent, Builder $subQuery, string[] $on)

Добавить подзапрос соединения к заданному запросу по заданному столбцу и внешнему ключу взаимосвязи.

Параметры

Builder $parent
Builder $subQuery
string[] $on

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

void

protected void mergeOneOfManyJoinsTo(Builder $query)

Объединить условия соединения взаимосвязи один ко многим с заданным билдером запроса.

Параметры

Builder $query

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

void

Builder|void getOneOfManySubQuery()

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

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

Builder|void

string qualifySubSelectColumn(string $column)

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

Параметры

string $column

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

string

protected string qualifyRelatedColumn(string $column)

Квалифицировать связанный столбец, используя имя связанной таблицы, если оно еще не квалифицировано.

Параметры

string $column

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

string

protected string guessRelationship()

Угадать имя взаимосвязи «один к одному» по стеку вызовов.

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

string

bool isOneOfMany()

Определить, является ли взаимосвязь взаимосвязью один ко многим.

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

bool

string getRelationName()

Получить имя взаимосвязи.

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

string

bool is(Модель|null $model)

Определить, является ли модель связанной моделью взаимосвязи.

Параметры

Модель|null $model

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

bool

bool isNot(Модель|null $model)

Определить, не является ли модель связанной моделью взаимосвязи.

Параметры

Модель|null $model

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

bool

protected mixed getRelatedKeyFrom(Модель $model)

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

Параметры

Модель $model

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

mixed

protected bool compareKeys(mixed $parentKey, mixed $relatedKey)

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

Параметры

mixed $parentKey
mixed $relatedKey

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

bool
END_OF_DOCUMENT_MARKER

Модель newRelatedInstanceFor(Модель $parent)

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

Параметры

Модель $parent

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

Модель

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

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

Параметры

Closure|array|bool $callback

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

$this

protected Модель|null getDefaultFor(Модель $parent)

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

Параметры

Модель $parent

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

Модель|null

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

Spec-Zone.ru

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