BelongsTo
класс BelongsTo расширяет Relation (View source)
Трейты
| ComparesRelatedModels | |
| InteractsWithDictionary | |
| SupportsDefaultModels | |
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый TRelatedModel> | $query | Экземпляр Eloquent билдера запросов. | из Relation |
| защищённый TDeclaringModel | $parent | Экземпляр родительской модели. | из Relation |
| защищённый TRelatedModel | $related | Экземпляр связанной модели. | из Relation |
| защищённый bool | $eagerKeysWereEmpty | Указывает, должна ли загруженная с жадностью связь неявно возвращать пустой коллекцию. | из Relation |
| статический защищённый bool | $constraints | Указывает, добавляет ли связь ограничения. | из Relation |
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами морфинг в базе данных. | из Relation |
| статический защищённый bool | $requireMorphMap | Предотвращает связи морфинг без карты морфинг. | из Relation |
| статический защищённый int | $selfJoinCount | Количество самосвязей. | из Relation |
| защищённый Closure|массив|bool | $withDefault | Указывает, используется ли экземпляр модели по умолчанию. | из SupportsDefaultModels |
| защищённый TDeclaringModel | $child | Экземпляр дочерней модели связи. | |
| защищённый string | $foreignKey | Внешний ключ родительской модели. | |
| защищённый string | $ownerKey | Соответствующий ключ родительской модели. | |
| защищённый string | $relationName | Имя связи. |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту. | из ForwardsCalls |
| mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту, вернув $this, если переданный вызов вернул себя. | из ForwardsCalls |
| static void | throwBadMethodCallException(string $method)
Выбросить исключение плохого вызова метода для данного метода. | из ForwardsCalls |
| static void | macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро. | из Macroable |
| static void | mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс. | из Macroable |
| static bool | hasMacro(string $name)
Проверяет, зарегистрировано ли макро. | из Macroable |
| static void | flushMacros()
Очистить существующие макросы. | из Macroable |
| static mixed | __callStatic(string $method, array $parameters)
Динамически обрабатывать вызовы класса. | из Macroable |
| mixed | __call(string $method, array $parameters)
Динамически обрабатывать вызовы класса. | из Macroable |
| void | __construct(Builder $query, Model $child, string $foreignKey, string $ownerKey, string $relationName)
Создать новый экземпляр отношения belongs to. | |
| static mixed | noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями для отношения. | из Relation |
| void | addConstraints()
Установить базовые ограничения для запроса отношения. | |
| void | addEagerConstraints(array $models) Без описания | |
| TDeclaringModel> | initRelation(array $models, string $relation) Без описания | |
| TDeclaringModel> | match(array $models, Collection $results, string $relation) Без описания | |
| TResult | getResults() Без описания | |
| TRelatedModel> | getEager()
Получить отношение для ленивой загрузки. | из Relation |
| TRelatedModel | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная совпадающая запись. | из Relation |
| TRelatedModel> | get(array $columns = ['*'])
Выполнить запрос как оператор «select». | из Relation |
| void | touch()
Обновить все связанные модели для отношения. | из Relation |
| int | rawUpdate(array $attributes = [])
Выполнить сырое обновление по базовому запросу. | из Relation |
| TRelatedModel> | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета существования отношения. | из Relation |
| TRelatedModel> | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Без описания | |
| string | getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш таблицы соединения отношения. | из Relation |
| array<int,int|string> | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | из Relation |
| TRelatedModel> | getRelationQuery()
Получить конструктор запроса, который будет содержать ограничения отношения. | из Relation |
| TRelatedModel> | getQuery()
Получить базовый запрос для отношения. | из Relation |
| Builder | getBaseQuery()
Получить базовый конструктор запроса, управляющий Eloquent-конструктором запроса. | из Relation |
| Builder | toBase()
Получить экземпляр базового конструктора запроса. | из Relation |
| TDeclaringModel | getParent()
Получить родительскую модель отношения. | из Relation |
| string | getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа. | из Relation |
| TRelatedModel | getRelated() Получить связанную модель отношения. | from Relation |
| string | createdAt() Получить имя столбца "created at". | from Relation |
| string | updatedAt() Получить имя столбца "updated at". | from Relation |
| string | relatedUpdatedAt() Получить имя столбца "updated at" связанной модели. | from Relation |
| void | whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null) Добавить ограничение whereIn для eager загрузки заданного набора ключей моделей. | from Relation |
| string | whereInMethod(Model $model, string $key) Получить имя метода "where in" для eager загрузки. | from Relation |
| static void | requireMorphMap(bool $requireMorphMap = true) Запретить использование полиморфных отношений без сопоставления моделей. | from Relation |
| static bool | requiresMorphMap() Определить, требуют ли полиморфные отношения явного сопоставления моделей. | from Relation |
| static array | enforceMorphMap(array $map, bool $merge = true) Определить morph-map для полиморфных отношений и потребовать, чтобы все модели с морфизмом были явно сопоставлены. | from Relation |
| static array | morphMap(array|null $map = null, bool $merge = true) Установить или получить morph-map для полиморфных отношений. | from Relation |
| static array|null | buildMorphMapFromModels(array|null $models = null) Строит массив с ключами таблиц из имён классов моделей. | from Relation |
| static string|null | getMorphedModel(string $alias) Получить модель, связанную с пользовательским полиморфным типом. | from Relation |
| static int|string | getMorphAlias(string $className) Получить псевдоним, связанный с пользовательским полиморфным классом. | from Relation |
| void | __clone() Вынудительное клонирование базового билдера запроса при клонировании. | from Relation |
| bool | is(Model|null $model) Определить, является ли модель связанным экземпляром отношения. | from ComparesRelatedModels |
| bool | isNot(Model|null $model) Определить, не является ли модель связанным экземпляром отношения. | from ComparesRelatedModels |
| mixed | getParentKey() Получить значение ключа внешнего ключа потомка. | |
| int|string | getRelatedKeyFrom(Model $model) Получить значение внешнего ключа модели. | |
| bool | compareKeys(mixed $parentKey, mixed $relatedKey) Сравнить ключ родительской с ключом связанной модели. | from ComparesRelatedModels |
| mixed | getDictionaryKey(mixed $attribute) Получить атрибут ключа словаря, при необходимости преобразовав его в строку. | from InteractsWithDictionary |
| TRelatedModel | newRelatedInstanceFor(Model $parent) Создать новый экземпляр связанной модели для данной модели. | |
| $this | withDefault(Closure|array|bool $callback = true) Возвратить новый экземпляр модели в случае, если отношение не существует. | from SupportsDefaultModels |
| Model|null | getDefaultFor(Model $parent) Получить значение по умолчанию для этого отношения. | from SupportsDefaultModels |
| array | getEagerModelKeys(array $models) Собрать ключи из массива связанных моделей. | |
| TDeclaringModel | associate(TRelatedModel|int|string|null $model) Связать экземпляр модели с данным родителем. | |
| TDeclaringModel | dissociate() Отвязать ранее связанную модель от данного родителя. | |
| TDeclaringModel | disassociate() Псевдоним метода "dissociate". | |
| TRelatedModel> | getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения на той же таблице. | |
| bool | relationHasIncrementingId() Определить, имеет ли связанная модель автоинкрементируемый ID. | |
| TDeclaringModel | getChild() Получить потомка отношения. | |
| string | getForeignKeyName() Получить внешний ключ отношения. | |
| string | getQualifiedForeignKeyName() Получить полностью квалифицированный внешний ключ отношения. |
| string | getOwnerKeyName()
Получить связанный ключ отношения. | |
| string | getQualifiedOwnerKeyName()
Получить полностью квалифицированный связанный ключ отношения. | |
| mixed | getForeignKeyFrom(Модель $model)
Получить значение внешнего ключа модели. | |
| string | getRelationName()
Получить имя отношения. |
Подробности
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода к заданному объекту.
protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода к заданному объекту, возвращая $this, если перенаправленный вызов вернул себя.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение вызова несуществующего метода для заданного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро.
static void mixin(object $mixin, bool $replace = true)
Включить другой объект в класс.
static bool hasMacro(string $name)
Проверяет, зарегистрировано ли макро.
static void flushMacros()
Очистить существующие макросы.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывать вызовы класса.
mixed __call(string $method, array $parameters)
Динамически обрабатывать вызовы класса.
void __construct(Builder $query, Модель $child, string $foreignKey, string $ownerKey, string $relationName)
Создать новый экземпляр отношения belongs to.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями в отношении.
void addConstraints()
Установить базовые ограничения запроса отношения.
void addEagerConstraints(array $models)
Нет описания
TDeclaringModel> initRelation(array $models, string $relation)
Нет описания
TDeclaringModel> match(array $models, Коллекция $results, string $relation)
Нет описания
TResult getResults()
Нет описания
TRelatedModel> getEager()
Получить отношение для леничной загрузки.
TRelatedModel sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись.
TRelatedModel> get(array $columns = ['*'])
Выполнить запрос как оператор «select».
void touch()
Обновить метки времени для всех связанных моделей в отношении.
int rawUpdate(array $attributes = [])
Выполнить сырое обновление по основному запросу.
TRelatedModel> getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчёта отношения.
TRelatedModel> getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Нет описания
string getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш объединения таблиц для отношения.
protected array<int,int|string> getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
protected TRelatedModel> getRelationQuery()
Получить конструктор запроса, который будет содержать ограничения отношения.
TRelatedModel> getQuery()
Получить основной запрос для отношения.
Builder getBaseQuery()
Получить базовый конструктор запроса, управляющий Eloquent-конструктором.
Builder toBase()
Получить экземпляр базового конструктора запроса.
TDeclaringModel getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа.
TRelatedModel getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца «created at».
string updatedAt()
Получить имя столбца «updated at».
string relatedUpdatedAt()
Получить имя столбца «updated at» связанной модели.
protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder|null $query = null)
Добавить ограничение whereIn для загрузки заданного набора ключей моделей.
protected string whereInMethod(Model $model, string $key)
Получить имя метода «where in» для леничной загрузки.
static void requireMorphMap(bool $requireMorphMap = true)
Запретить использование полиморфных отношений без сопоставлений моделей.
static bool requiresMorphMap()
Определить, требуют ли полиморфные отношения явное отображение модели.
static array enforceMorphMap(array $map, bool $merge = true)
Определить отображение морф для полиморфных отношений и потребовать, чтобы все модели morph были явно отображены.
static array morphMap(array|null $map = null, bool $merge = true)
Установить или получить отображение морф для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array|null $models = null)
Создаёт таблично-индексированный массив из имён классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
static int|string getMorphAlias(string $className)
Получить псевдоним, связанный с пользовательским полиморфным классом.
void __clone()
Принудительно клонировать базовый строитель запросов при клонировании.
bool is(Model|null $model)
Определить, является ли модель связанным экземпляром отношения.
bool isNot(Model|null $model)
Определить, не является ли модель связанным экземпляром отношения.
mixed getParentKey()
Получить значение ключа внешнего ключа дочернего элемента.
protected int|string getRelatedKeyFrom(Model $model)
Получить значение внешнего ключа модели.
protected bool compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить родительский ключ с родственным ключом.
protected mixed getDictionaryKey(mixed $attribute)
Получить атрибут ключа словаря — привести его к строке, если необходимо.
protected TRelatedModel newRelatedInstanceFor(Model $parent)
Создать новый связанный экземпляр для данной модели.
$this withDefault(Closure|array|bool $callback = true)
Возвратить новый экземпляр модели в случае отсутствия отношения.
protected Model|null getDefaultFor(Model $parent)
Получить значение по умолчанию для этого отношения.
protected array getEagerModelKeys(array $models)
Собрать ключи из массива связанных моделей.
TDeclaringModel associate(TRelatedModel|int|string|null $model)
Связать экземпляр модели с данным родителем.
TDeclaringModel dissociate()
Отвязать ранее связанную модель от данного родителя.
TDeclaringModel disassociate()
Псевдоним метода «отвязать».
TRelatedModel> getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса к связи на том же столе.
protected bool relationHasIncrementingId()
Определить, имеет ли связанная модель автоинкрементируемый ID.
TDeclaringModel getChild()
Получить дочерний элемент связи.
string getForeignKeyName()
Получить внешний ключ связи.
string getQualifiedForeignKeyName()
Получить полностью квалифицированный внешний ключ связи.
string getOwnerKeyName()
Получить связанный ключ связи.
string getQualifiedOwnerKeyName()
Получить полностью квалифицированный связанный ключ связи.
protected mixed getForeignKeyFrom(Model $model)
Получить значение внешнего ключа модели.
string getRelationName()
Получить имя связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/11.x/Illuminate/Database/Eloquent/Relations/BelongsTo.html