Spec-Zone.ru › Laravel 5.7

MorphTo

class MorphTo extends BelongsTo (View source)

Свойства

SupportsDefaultModels
ForwardsCalls
Macroable

Свойства

static protected array $macros Зарегистрированные строковые макросы. from Macroable
protected Builder $query Экземпляр билдера запросов Eloquent. from Relation
protected Model $parent Экземпляр родительской модели. from Relation
protected Model $related Экземпляр связанной модели. from Relation
static protected bool $constraints Указывает, добавляет ли отношение ограничения. from Relation
static array $morphMap Массив для сопоставления имён классов с их именами морфизма в базе данных. from Relation
protected Closure|array|bool $withDefault Указывает, следует ли использовать экземпляр модели по умолчанию. from SupportsDefaultModels
protected $child Экземпляр дочерней модели отношения. from BelongsTo
protected string $foreignKey Внешний ключ родительской модели. from BelongsTo
protected string $ownerKey Ключ, ассоциированный с родительской моделью. from BelongsTo
protected string $relation Имя отношения. from BelongsTo
static protected int $selfJoinCount Количество самосоединений. from BelongsTo
protected string $morphType Тип полиморфного отношения.
protected Collection $models Модели, отношения которых загружаются с помощью eager loading.
protected array $dictionary Все модели, индексированные по ID.
protected array $macroBuffer Буфер динамических вызовов макросов запросов.

Методы

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)

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

from Macroable
static bool hasMacro(string $name)

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

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

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

from Macroable
mixed __call(string $method, array $parameters)

Обработка динамических вызовов метода к связи.

void __construct(Builder $query, Model $parent, string $foreignKey, string $ownerKey, string $type, string $relation)

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

static mixed noConstraints(Closure $callback)

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

from Relation
void addConstraints()

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

from BelongsTo
void addEagerConstraints(array $models)

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

array initRelation(array $models, string $relation)

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

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

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

mixed getResults()

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

Collection getEager()

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

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

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

from Relation
void touch()

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

int rawUpdate(array $attributes = [])

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

from Relation
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

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

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

from BelongsTo
array getKeys(array $models, string $key = null)

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

from Relation
Builder getQuery()

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

from Relation
Builder getBaseQuery()

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

from Relation
Model getParent()

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

from Relation
string getQualifiedParentKeyName()

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

from Relation
Model getRelated()

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

from Relation
string createdAt()

Получить имя колонки "created at".

from Relation
string updatedAt()

Получить имя колонки "updated at".

from Relation
string relatedUpdatedAt()

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

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

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

from Relation
статический массив|null buildMorphMapFromModels(массив $models = null)

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

из Relation
статический строка|null getMorphedModel(строка $alias)

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

из Relation
void __clone()

Вынуждает клонирование базового билдера запросов при клонировании.

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

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

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

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

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

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

из SupportsDefaultModels
массив getEagerModelKeys(массив $models)

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

из BelongsTo
смешанный тип update(массив $attributes)

Обновить родительскую модель в отношении.

из BelongsTo
Модель associate(Модель|целое число|строка $model)

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

Модель dissociate()

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

Билдер getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, массив|смешанный тип $columns = ['*'])

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

из BelongsTo
строка getRelationCountHash()

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

из BelongsTo
булево relationHasIncrementingId()

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

из BelongsTo
строка getForeignKey()

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

из BelongsTo
строка getQualifiedForeignKey()

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

из BelongsTo
строка getOwnerKey()

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

из BelongsTo
строка getQualifiedOwnerKeyName()

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

из BelongsTo
строка getRelation()

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

из BelongsTo
void buildDictionary(Коллекция $models)

Создать словарь с моделями.

Коллекция getResultsByType(строка $type)

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

массив gatherKeysByType(строка $type)

Собрать все внешние ключи для данного типа.

Модель createModelByType(строка $type)

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

void matchToMorphParents(строка $type, Коллекция $results)

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

строка getMorphType()

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

массив getDictionary()

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

Билдер replayMacros(Билдер $query)

Повторно воспроизвести хранимые вызовы макросов на фактическом связанном экземпляре.

Подробности

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

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

Параметры

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

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

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

Исключения

BadMethodCallException

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

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

Параметры

строка $method

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

void

Исключения

BadMethodCallException

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

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

Параметры

string $name
object|callable $macro

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

void

static void mixin(object $mixin)

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

Параметры

object $mixin

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

void

Исключения

ReflectionException

static bool hasMacro(string $name)

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

Параметры

string $name

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

bool

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

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException

mixed __call(string $method, array $parameters)

Обработать динамические вызовы метода к связи.

Параметры

string $method
array $parameters

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

mixed

void __construct(Builder $query, Model $parent, string $foreignKey, string $ownerKey, string $type, string $relation)

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

Параметры

Builder $query
Model $parent
string $foreignKey
string $ownerKey
string $type
string $relation

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

void

static mixed noConstraints(Closure $callback)

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

Параметры

Closure $callback

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

mixed

void addConstraints()

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

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

void

void addEagerConstraints(array $models)

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

Параметры

array $models

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

void

array initRelation(array $models, string $relation)

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

Параметры

array $models
string $relation

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

array

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

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

Параметры

array $models
Collection $results
string $relation

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

array

mixed getResults()

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

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

mixed

Collection getEager()

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

Вызывается через метод жадной загрузки Eloquent query builder.

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

Collection

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

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

Параметры

array $columns

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

Collection

void touch()

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

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

void

int rawUpdate(array $attributes = [])

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

Параметры

array $attributes

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

int

Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)

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

Параметры

Builder $query
Builder $parentQuery

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

Builder

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder
END_OF_DOCUMENT_MARKER

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

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

Параметры

array $models
string $key

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

array

Builder getQuery()

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

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

Builder

Builder getBaseQuery()

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

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

Builder

Model getParent()

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

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

Model

string getQualifiedParentKeyName()

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

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

string

Model getRelated()

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

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

Model

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

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

abstract protected 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

protected array getEagerModelKeys(array $models)

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

Параметры

array $models

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

array

mixed update(array $attributes)

Обновить родительскую модель в рамках связи.

Параметры

array $attributes

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

mixed

Model associate(Model|int|string $model)

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

Параметры

Model|int|string $model

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

Model

Model dissociate()

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

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

Model

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

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

Параметры

Builder $query
Builder $parentQuery
array|mixed $columns

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

Builder
END_OF_DOCUMENT_MARKER

string getRelationCountHash()

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

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

string

protected bool relationHasIncrementingId()

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

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

bool

string getForeignKey()

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

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

string

string getQualifiedForeignKey()

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

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

string

string getOwnerKey()

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

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

string

string getQualifiedOwnerKeyName()

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

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

string

string getRelation()

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

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

string

protected void buildDictionary(Collection $models)

Создать словарь с моделями.

Параметры

Collection $models

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

void

protected Collection getResultsByType(string $type)

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

Параметры

string $type

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

Collection

protected array gatherKeysByType(string $type)

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

Параметры

string $type

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

array

Модель createModelByType(string $type)

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

Параметры

string $type

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

Модель

protected void matchToMorphParents(string $type, Collection $results)

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

Параметры

string $type
Collection $results

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

void

string getMorphType()

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

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

string

array getDictionary()

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

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

array

protected Builder replayMacros(Builder $query)

Повторить сохраненные вызовы макросов на фактическом связанном экземпляре.

Параметры

Builder $query

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

Builder

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

Spec-Zone.ru

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