Spec-Zone.ru › Laravel 5.4

MorphTo

класс MorphTo расширяет BelongsTo (View source)

Трейты

SupportsDefaultModels
Macroable

Свойства

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

Методы

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

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

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

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

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
void __clone()

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

from Relation
Model newRelatedInstanceFor(Model $parent)

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

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

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

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

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

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

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

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

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

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

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

Модель dissociate()

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

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

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

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

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

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

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

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

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

Подробности

static void macro(строка $name, вызываемая функция $macro)

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

Параметры

строка $name
вызываемая функция $macro

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

void

static bool hasMacro(строка $name)

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

Параметры

строка $name

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

bool

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

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

Параметры

строка $method
массив $parameters

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

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

Исключения

BadMethodCallException

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

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

Параметры

строка $method
массив $parameters

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

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

void __construct(Билдер $query, Модель $parent, строка $foreignKey, строка $ownerKey, строка $type, строка $relation)

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

Параметры

Билдер $query
Модель $parent
строка $foreignKey
строка $ownerKey
строка $type
строка $relation

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

void
END_OF_DOCUMENT_MARKER

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

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

Вызывается через метод отложенной загрузки Eloquent-билдера запросов.

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 билдером.

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

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

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

Return Value

void

abstract protected Model newRelatedInstanceFor(Model $parent)

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

Parameters

Model $parent

Return Value

Model

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

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

Parameters

Closure|array|bool $callback

Return Value

$this

protected Model|null getDefaultFor(Model $parent)

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

Parameters

Model $parent

Return Value

Model|null

protected array getEagerModelKeys(array $models)

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

Parameters

array $models

Return Value

array

mixed update(array $attributes)

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

Parameters

array $attributes

Return Value

mixed

Model associate(Model|int|string $model)

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

Parameters

Model|int|string $model

Return Value

Model

Model dissociate()

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

Return Value

Model

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

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

Parameters

Builder $query
Builder $parentQuery
array|mixed $columns

Return Value

Builder

string getRelationCountHash()

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

Return Value

string

protected bool relationHasIncrementingId()

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

Return Value

bool

string getForeignKey()

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

Return Value

string

string getQualifiedForeignKey()

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

Return Value

string

string getOwnerKey()

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

Return Value

string

string getQualifiedOwnerKeyName()

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

Return Value

string

string getRelation()

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

Return Value

string

protected void buildDictionary(Collection $models)

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

Parameters

Collection $models

Return Value

void

protected Collection getResultsByType(string $type)

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

Parameters

string $type

Return Value

Collection

protected array gatherKeysByType(string $type)

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

Parameters

string $type

Return Value

array

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

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

Параметры

string $type

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

Модель

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

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

Параметры

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

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

void

string getMorphType()

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

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

string

array getDictionary()

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

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

array

protected Построитель replayMacros(Построитель $query)

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

Параметры

Построитель $query

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

Построитель

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

Spec-Zone.ru

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