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