BelongsTo
class BelongsTo extends Relation (View source)
Свойства
| 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 string | $foreignKey | Внешний ключ родительской модели. | |
| protected string | $otherKey | Связанный ключ в родительской модели. | |
| protected string | $relation | Имя отношения. | |
| static protected int | $selfJoinCount | Количество самосвязей. |
Методы
| void | __construct(Builder $query, Model $parent, string $foreignKey, string $otherKey, string $relation) Создать новый экземпляр отношения belongs to. | |
| void | addConstraints() Установить базовые ограничения запроса отношения. | |
| void | addEagerConstraints(array $models) Установить ограничения для жадной загрузки отношения. | |
| array | initRelation(array $models, string $relation) Инициализировать отношение для набора моделей. | |
| array | match(array $models, Collection $results, string $relation) Сопоставить жадно загруженные результаты с их родителями. | |
| mixed | getResults() Получить результаты отношения. | |
| Collection | getEager() Получить отношение для жадной загрузки. | from Relation |
| void | touch() Обновить метку времени для всех связанных моделей отношения. | from Relation |
| int | rawUpdate(array $attributes = []) Выполнить сырое обновление базового запроса. | from Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчета отношения. | from Relation |
| Builder | getRelationQuery(Builder $query, Builder $parent, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения. | |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений для отношения. | from Relation |
| 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 |
| string | wrap(string $value) Оборачивает заданное значение с помощью грамматики родительского запроса. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить карту morph для полиморфных отношений. | from Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Создаёт таблично-ключевой массив из имён классов моделей. | from Relation |
| mixed | __call(string $method, array $parameters) Обработка динамических вызовов методов отношения. | from Relation |
| void | __clone() Вынуждает клонирование базового билдера запроса при клонировании. | from Relation |
| Builder | getRelationQueryForSelfRelation(Builder $query, Builder $parent, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения на той же таблице. | |
| string | getRelationCountHash() Получить хеш таблицы соединения отношения. | |
| array | getEagerModelKeys(array $models) Собрать ключи из массива связанных моделей. | |
| Model | associate(Model|int $model) Связать экземпляр модели с заданным родителем. | |
| Model | dissociate() Отвязать ранее связанную модель от заданного родителя. | |
| mixed | update(array $attributes) Обновить родительскую модель в отношении. |
| string | getForeignKey() Получить внешний ключ связи. | |
| string | getQualifiedForeignKey() Получить полностью квалифицированный внешний ключ связи. | |
| string | getOtherKey() Получить связанный ключ связи. | |
| string | getRelation() Получить имя связи. | |
| string | getQualifiedOtherKeyName() Получить полностью квалифицированный связанный ключ связи. |
Подробное описание
void __construct(Builder $query, Model $parent, string $foreignKey, string $otherKey, string $relation)
Создать новый экземпляр связи belongs to.
void addConstraints()
Установить базовые ограничения на запрос отношения.
void addEagerConstraints(array $models)
Установить ограничения для отложенной загрузки отношения.
array initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей.
array match(array $models, Collection $results, string $relation)
Сопоставить загруженные результаты с их родительскими элементами.
mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для отложенной загрузки.
void touch()
Обновить все связанные модели для отношения.
int rawUpdate(array $attributes = [])
Выполнить прямое обновление на основе базового запроса.
Builder getRelationCountQuery(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчёта отношения.
Builder getRelationQuery(Builder $query, Builder $parent, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения.
static mixed noConstraints(Closure $callback)
Выполнить коллбек с отключёнными ограничениями для отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя колонки "created at".
string updatedAt()
Получить имя колонки "updated at".
string relatedUpdatedAt()
Получить имя колонки "updated at" связанной модели.
string wrap(string $value)
Оборачивает заданное значение синтаксисом грамматики родительского запроса.
static array morphMap(array $map = null, bool $merge = true)
Устанавливает или получает карту morph для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт таблично-ключевой массив из имён классов моделей.
mixed __call(string $method, array $parameters)
Обрабатывает динамические вызовы методов для отношения.
void __clone()
Принудительно клонирует подчинённый генератор запросов при клонировании.
Генератор getRelationQueryForSelfRelation(Генератор $query, Генератор $parent, array|mixed $columns = ['*'])
Добавляет ограничения для запроса отношения на одной таблице.
string getRelationCountHash()
Получить хэш таблицы объединения для отношения.
protected array getEagerModelKeys(array $models)
Собрать ключи из массива связанных моделей.
Модель dissociate()
Отвязать ранее связанную модель от данного родителя.
mixed update(array $attributes)
Обновить родительскую модель в рамках отношения.
string getForeignKey()
Получить внешний ключ отношения.
string getQualifiedForeignKey()
Получить полностью квалифицированный внешний ключ отношения.
string getOtherKey()
Получить связанный ключ отношения.
string getRelation()
Получить имя отношения.
string getQualifiedOtherKeyName()
Получить полностью квалифицированный связанный ключ отношения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.3/Illuminate/Database/Eloquent/Relations/BelongsTo.html