BelongsTo
класс BelongsTo расширяет Relation (View source)
Свойства
| SupportsDefaultModels | |
| ForwardsCalls | |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | из Macroable |
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| protected Model | $parent | Экземпляр родительской модели. | из Relation |
| protected Model | $related | Экземпляр связанной модели. | из Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| static array | $morphMap | Массив для сопоставления имен классов с их именами морф в базе данных. | из Relation |
| protected Closure|array|bool | $withDefault | Указывает, следует ли использовать экземпляр модели по умолчанию. | из SupportsDefaultModels |
| protected Model | $child | Экземпляр дочерней модели отношения. | |
| protected string | $foreignKey | Внешний ключ родительской модели. | |
| protected string | $ownerKey | Соответствующий ключ в родительской модели. | |
| protected string | $relationName | Имя отношения. | |
| static protected int | $selfJoinCount | Количество самосоединений. |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода заданному объекту. | 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 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)
Создать новый экземпляр отношения «принадлежит к». | |
| 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 |
| 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 = ['*'])
Добавить ограничения для запроса отношения. | |
| array | getKeys(array $models, string|null $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 | whereInMethod(Model $model, string $key)
Получить имя метода "where in" для жадной загрузки. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true)
Установить или получить карту morph для полиморфных отношений. | from Relation |
| статический массив|null | buildMorphMapFromModels(массив $models = null)
Создаёт массив с ключами-таблицами из имён классов моделей. | из Relation |
| статический строка|null | getMorphedModel(строка $alias)
Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone()
Принудительно клонировать подлежащий запрос-билдер при клонировании. | из Relation |
| Модель | newRelatedInstanceFor(Модель $parent)
Создать новую связанную сущность для заданной модели. | |
| $this | withDefault(Closure|массив|bool $callback = true)
Возвращает новый экземпляр модели в случае отсутствия связи. | из SupportsDefaultModels |
| Модель|null | getDefaultFor(Модель $parent)
Получить значение по умолчанию для этой связи. | из SupportsDefaultModels |
| массив | getEagerModelKeys(массив $models)
Получить ключи из массива связанных моделей. | |
| Модель | associate(Модель|int|строка $model)
Связать экземпляр модели с заданным родителем. | |
| Модель | dissociate()
Отвязать ранее связанную модель от заданного родителя. | |
| Билдер | getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, массив|смешанное $columns = ['*'])
Добавить ограничения для запроса связи на одной таблице. | |
| строка | getRelationCountHash()
Получить хеш таблицы связи. | |
| bool | relationHasIncrementingId()
Определить, имеет ли связанная модель автоинкрементный ID. | |
| Модель | getChild()
Получить потомка связи. | |
| строка | getForeignKeyName()
Получить внешний ключ связи. | |
| строка | getQualifiedForeignKeyName()
Получить полностью квалифицированный внешний ключ связи. | |
| строка | getOwnerKeyName()
Получить связанный ключ связи. | |
| строка | getQualifiedOwnerKeyName()
Получить полностью квалифицированный связанный ключ связи. | |
| строка | getRelationName()
Получить имя связи. |
Подробности
protected смешанный forwardCallTo(смешанный $object, строка $method, массив $parameters)
Перенаправить вызов метода заданному объекту.
static protected void throwBadMethodCallException(строка $method)
Выбросить исключение вызова несуществующего метода для данного метода.
static void macro(строка $name, объект|вызываемый $macro)
Зарегистрировать пользовательский макрос.
static void mixin(объект $mixin, bool $replace = true)
Смешать другой объект в класс.
static bool hasMacro(строка $name)
Проверяет, зарегистрирован ли макрос.
static смешанный __callStatic(строка $method, массив $parameters)
Динамически обрабатывает вызовы класса.
смешанный __call(строка $method, массив $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()
Получить отношение для ленивой загрузки.
Collection get(array $columns = ['*'])
Выполнить запрос в качестве оператора «select».
void touch()
Обновить все связанные модели для отношения.
int rawUpdate(array $attributes = [])
Выполнить сырое обновление по базовому запросу.
Builder getRelationExistenceCountQuery(Builder $query, Builder $parentQuery)
Добавить ограничения для запроса подсчёта отношения.
Builder getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения.
protected array getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый конструктор запроса, управляющий конструктором Eloquent.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное имя родительского ключа.
Model getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца «created at».
string updatedAt()
Получить имя столбца "обновлено в".
string relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели.
protected string whereInMethod(Model $model, string $key)
Получить имя метода "where in" для леничной загрузки.
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()
Принудительно клонировать базовый билдер запросов при клонировании.
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()
Отвязать ранее связанную модель от заданного родителя.
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на той же таблице.
string getRelationCountHash()
Получить хеш таблицы соединения отношения.
protected bool relationHasIncrementingId()
Определить, имеет ли связанная модель автоинкрементирующий ID.
Model 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/7.x/Illuminate/Database/Eloquent/Relations/BelongsTo.html