Spec-Zone.ru › Laravel 7

MorphOne

class MorphOne extends MorphOneOrMany (View source)

Свойства

SupportsDefaultModels
ForwardsCalls
Macroable

Свойства

static protected array $macros

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

из Macroable
protected Builder $query

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

из Relation
protected Model $parent

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

из Relation
protected Model $related

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

из Relation
static protected bool $constraints

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

из Relation
static array $morphMap

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

из Relation
protected string $foreignKey

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

из HasOneOrMany
protected string $localKey

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

из HasOneOrMany
static protected int $selfJoinCount

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

из HasOneOrMany
protected string $morphType

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

из MorphOneOrMany
protected string $morphClass

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

из MorphOneOrMany
protected Closure|array|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 $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
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 = ['*'])

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

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

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

from Relation
string updatedAt()

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

from Relation
string relatedUpdatedAt()

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

from Relation
string whereInMethod(Model $model, string $key)

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

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

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

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

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

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

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

из HasOneOrMany
string getRelationCountHash()

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

из HasOneOrMany
string getExistenceCompareKey()

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

из HasOneOrMany
mixed getParentKey()

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

из HasOneOrMany
string getForeignKeyName()

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

из HasOneOrMany
string getQualifiedForeignKeyName()

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

из HasOneOrMany
string getLocalKeyName()

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

из HasOneOrMany
string getQualifiedMorphType()

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

из MorphOneOrMany
string getMorphType()

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

из MorphOneOrMany
string getMorphClass()

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

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

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

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

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

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

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

из SupportsDefaultModels

Подробности

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

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

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

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

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

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 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, Модель $parent, string $type, string $id, string $localKey)

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

Parameters

Builder $query
Модель $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)

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

Parameters

array $models
Collection $results
string $relation

Return Value

array

mixed getResults()

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

Return Value

mixed

Collection getEager()

Получить отношение для eager loading.

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|null $key = null)

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

Parameters

array $models
string|null $key

Return Value

array

Builder getQuery()

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

Return Value

Builder

Builder getBaseQuery()

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

Return Value

Builder

Model getParent()

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

Return Value

Model

string getQualifiedParentKeyName()

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

Return Value

string

Model getRelated()

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

Return Value

Model

string createdAt()

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

Return Value

string

string updatedAt()

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

Return Value

string

string relatedUpdatedAt()

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

Return Value

string

protected string whereInMethod(Model $model, string $key)

Получить имя метода "where in" для eager loading.

Parameters

Model $model
string $key

Return Value

string

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

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

Parameters

array $map
bool $merge

Return Value

array

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

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

Parameters

array $models

Return Value

array|null

static string|null getMorphedModel(string $alias)

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

Parameters

string $alias

Return Value

string|null

void __clone()

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

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

void

Модель 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

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

Модель

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

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

Параметры

array $attributes
array $values

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

Модель

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

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

Параметры

Модель $model

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

Модель|false

iterable saveMany(iterable $models)

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

Параметры

iterable $models

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

iterable

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

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

Параметры

array $attributes

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

Модель

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

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

Параметры

iterable $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

string getQualifiedMorphType()

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

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

string

string getMorphType()

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

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

string

string getMorphClass()

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

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

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/MorphOne.html

Spec-Zone.ru

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