BelongsTo
класс BelongsTo расширяет Relation (View source)
Трейты
| 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 | Экземпляр дочерней модели отношения. | |
| защищенный строка | $foreignKey | Внешний ключ родительской модели. | |
| защищенный строка | $ownerKey | Связанный ключ в родительской модели. | |
| защищенный строка | $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)
Установить ограничения для ленивой загрузки отношения. | |
| array | initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей. | |
| array | match(array $models, Collection $results, string $relation)
Сопоставить загруженные результаты с их родителями. | |
| mixed | getResults()
Получить результаты отношения. | |
| Collection | getEager()
Получить отношение для ленивой загрузки. | из Relation |
| Model | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись. | из Relation |
| Collection | get(array $columns = ['*'])
Выполнить запрос как оператор "select". | из Relation |
| void | touch()
Изменить все связанные модели для отношения. | из Relation |
| int | rawUpdate(array $attributes = [])
Выполнить прямое обновление по отношению к основному запросу. | из Relation |
| Builder | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчета отношения. | из Relation |
| Builder | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения. | |
| string | getRelationCountHash(bool $incrementJoinCount = true)
Получить хеш таблицы соединения отношения. | из Relation |
| array | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | из Relation |
| Builder | getRelationQuery()
Получить конструктор запроса, который будет содержать ограничения отношения. | из Relation |
| Builder | getQuery()
Получить базовый запрос для отношения. | из Relation |
| Builder | getBaseQuery()
Получить базовый конструктор запроса, управляющий конструктором Eloquent. | из Relation |
| Model | getParent()
Получить родительскую модель отношения. | из Relation |
| string | getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа. | из Relation |
| Модель | getRelated()
Получить связанную модель отношения. | из Отношения |
| строка | createdAt()
Получить имя столбца "создано в". | из Отношения |
| строка | updatedAt()
Получить имя столбца "обновлено в". | из Отношения |
| строка | relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели. | из Отношения |
| строка | whereInMethod(Модель $model, string $key)
Получить имя метода "where in" для ленивой загрузки. | из Отношения |
| статический void | requireMorphMap(bool $requireMorphMap = true)
Запретить использование полиморфных отношений без сопоставления моделей. | из Отношения |
| статический bool | requiresMorphMap()
Определить, требуют ли полиморфные отношения явного сопоставления моделей. | из Отношения |
| статический массив | enforceMorphMap(array $map, bool $merge = true)
Определить мапу морфизма для полиморфных отношений и потребовать, чтобы все модели с морфизмом были явно сопоставлены. | из Отношения |
| статический массив | morphMap(array $map = null, bool $merge = true)
Установить или получить мапу морфизма для полиморфных отношений. | из Отношения |
| статический массив|null | buildMorphMapFromModels(array $models = null)
Создает таблично-ключевой массив из имен классов моделей. | из Отношения |
| статический строка|null | getMorphedModel(string $alias)
Получить модель, связанную с типом пользовательского полиморфизма. | из Отношения |
| void | __clone()
Вынудить клонирование базового билдера запросов при клонировании. | из Отношения |
| bool | is(Модель|null $model)
Определить, является ли модель связанным экземпляром отношения. | из ComparesRelatedModels |
| bool | isNot(Модель|null $model)
Определить, не является ли модель связанным экземпляром отношения. | из ComparesRelatedModels |
| mixed | getParentKey()
Получить значение ключа внешнего ключа дочернего элемента. | |
| mixed | getRelatedKeyFrom(Модель $model)
Получить значение связанного ключа модели. | |
| bool | compareKeys(mixed $parentKey, mixed $relatedKey)
Сравнить родительский ключ со связанным ключом. | из ComparesRelatedModels |
| mixed | getDictionaryKey(mixed $attribute)
Получить атрибут словаря ключа — при необходимости привести его к строке. | из InteractsWithDictionary |
| Модель | newRelatedInstanceFor(Модель $parent)
Создать новый связанный экземпляр для данной модели. | |
| $this | withDefault(Closure|array|bool $callback = true)
Возвращает новый экземпляр модели в случае, если отношение не существует. | из SupportsDefaultModels |
| Модель|null | getDefaultFor(Модель $parent)
Получить значение по умолчанию для этого отношения. | из SupportsDefaultModels |
| массив | getEagerModelKeys(array $models)
Собрать ключи из массива связанных моделей. | |
| Модель | associate(Модель|int|string|null $model)
Связать экземпляр модели с данным родителем. | |
| Модель | dissociate()
Отсоединить ранее связанную модель от заданного родителя. | |
| Модель | disassociate()
Псевдоним метода "dissociate". | |
| Билдер | getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношений на одной таблице. | |
| bool | relationHasIncrementingId()
Определить, имеет ли связанная модель автоинкрементируемый ID. | |
| Модель | getChild()
Получить дочерний элемент отношения. | |
| строка | getForeignKeyName()
Получить внешний ключ отношения. | |
| строка | getQualifiedForeignKeyName()
Получить полностью квалифицированный внешний ключ отношения. | |
| строка | getOwnerKeyName()
Получить связанный ключ отношения. | |
| строка | 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()
Получить результаты отношения.
Collection getEager()
Получить отношение для отложенной загрузки.
Модель sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись.
Коллекция get(array $columns = ['*'])
Выполнить запрос как операцию «выбор».
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.
Модель getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя колонки «создано в».
string updatedAt()
Получить имя колонки «обновлено в».
string relatedUpdatedAt()
Получить имя колонки «обновлено в» для связанной модели.
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()
Псевдоним метода «отвязать».
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/8.x/Illuminate/Database/Eloquent/Relations/BelongsTo.html