Spec-Zone.ru › Laravel 5.5

MorphTo

class MorphTo extends BelongsTo (View source)

Свойства

SupportsDefaultModels
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 protected 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 Буфер динамических вызовов макросов запроса.

Методы

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

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

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 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
static array|null buildMorphMapFromModels(array $models = null)

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

from Relation
static string|null getMorphedModel(string $alias)

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

from Relation
END_OF_DOCUMENT_MARKER
void __clone()

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

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

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

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

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

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

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

из SupportsDefaultModels
array getEagerModelKeys(array $models)

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

из BelongsTo
mixed update(array $attributes)

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

из BelongsTo
Модель associate(Модель|int|string $model)

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

Модель dissociate()

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

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

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

из BelongsTo
string getRelationCountHash()

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

из BelongsTo
bool relationHasIncrementingId()

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

из BelongsTo
string getForeignKey()

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

из BelongsTo
string getQualifiedForeignKey()

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

из BelongsTo
string getOwnerKey()

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

из BelongsTo
string getQualifiedOwnerKeyName()

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

из BelongsTo
string getRelation()

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

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

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

Коллекция getResultsByType(string $type)

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

array gatherKeysByType(string $type)

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

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

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

void matchToMorphParents(string $type, Коллекция $results)

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

string getMorphType()

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

array getDictionary()

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

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

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

Подробности

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

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

Параметры

string $name
object|callable $macro

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

void

static void mixin(object $mixin)

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

Параметры

object $mixin

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

void

static bool hasMacro(string $name)

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

Параметры

string $name

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

bool

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

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

Параметры

string $method
array $parameters

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

mixed

Исключения

BadMethodCallException
END_OF_DOCUMENT_MARKER

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)

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

Параметры

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

Выполнение запроса на обновление с помощью SQL.

Параметры

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

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

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

Параметры

array $models
string $key

Значение результата

array

Builder getQuery()

Получение базового запроса для связи.

Значение результата

Builder

Builder getBaseQuery()

Получение базового объекта Query Builder, управляющего Eloquent builder.

Значение результата

Builder

Model getParent()

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

Значение результата

Model

string getQualifiedParentKeyName()

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

Значение результата

string

Модель getRelated()

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

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

Модель

string createdAt()

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

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

string

string updatedAt()

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

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

string

string relatedUpdatedAt()

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

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

string

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

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

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

Параметры

Модель $parent

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

Модель

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

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

Параметры

Closure|array|bool $callback

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

$this

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

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

Параметры

Модель $parent

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

Модель|null

protected array getEagerModelKeys(array $models)

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

Параметры

array $models

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

array

mixed update(array $attributes)

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

Параметры

array $attributes

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

mixed

Модель associate(Модель|int|string $model)

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

Параметры

Модель|int|string $model

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

Модель

Модель dissociate()

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

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

Модель

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

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

Параметры

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

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

Билдер

string getRelationCountHash()

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

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

string

protected bool relationHasIncrementingId()

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

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

bool

string getForeignKey()

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

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

string

string getQualifiedForeignKey()

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

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

string

string getOwnerKey()

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

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

string

string getQualifiedOwnerKeyName()

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

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

string

строка getRelation()

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

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

строка

защищено пустое buildDictionary(Collection $models)

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

Параметры

Collection $models

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

пустое

защищено Collection getResultsByType(строка $type)

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

Параметры

строка $type

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

Collection

защищено массив gatherKeysByType(строка $type)

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

Параметры

строка $type

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

массив

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

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

Параметры

строка $type

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

Модель

защищено пустое matchToMorphParents(строка $type, Collection $results)

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

Параметры

строка $type
Collection $results

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

пустое

строка getMorphType()

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

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

строка

массив getDictionary()

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

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

массив

защищено 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.5/Illuminate/Database/Eloquent/Relations/MorphTo.html

Spec-Zone.ru

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