BelongsTo
класс BelongsTo расширяет Relation (View source)
Свойства
| ComparesRelatedModels | |
| InteractsWithDictionary | |
| SupportsDefaultModels | |
| ForwardsCalls | |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | из Macroable |
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| protected Model | $parent | Экземпляр родительской модели. | из Relation |
| protected Model | $related | Экземпляр связанной модели. | из Relation |
| protected bool | $eagerKeysWereEmpty | Указывает, должна ли жадно загруженная связь неявно возвращать пустой коллекцию. | из Relation |
| static protected bool | $constraints | Указывает, добавляет ли связь ограничения. | из Relation |
| static array | $morphMap | Массив для сопоставления имен классов с их именами морфизма в базе данных. | из Relation |
| static protected bool | $requireMorphMap | Предотвращает морф отношения без карты морфизма. | из Relation |
| static protected int | $selfJoinCount | Количество самосоединений. | из Relation |
| protected Closure|array|bool | $withDefault | Указывает, должен ли использоваться экземпляр модели по умолчанию. | из SupportsDefaultModels |
| protected Model | $child | Экземпляр дочерней модели отношения. | |
| protected string | $foreignKey | Внешний ключ родительской модели. | |
| protected string | $ownerKey | Связанный ключ в родительской модели. | |
| protected 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)
Создать новый экземпляр отношения принадлежности. | |
| 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()
Получить имя столбца "created at". | из Relation |
| string | updatedAt()
Получить имя столбца "updated at". | из Relation |
| string | relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели. | из Relation |
| void | whereInEager(string $whereIn, string $key, array $modelKeys, Builder $query = null)
Добавить ограничение whereIn для загрузки заданного набора ключей модели. | из 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)
Определить сопоставление morph для полиморфных отношений и потребовать, чтобы все модели morph были явно сопоставлены. | из Relation |
| static array | morphMap(array $map = null, bool $merge = true)
Установить или получить сопоставление morph для полиморфных отношений. | из 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()
Определить, имеет ли связанная модель автоинкрементный идентификатор. | |
| Model | 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)
Установить ограничения для жадного загрузки отношения.
array initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей.
array match(array $models, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их родителями.
mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для ленивой загрузки.
Модель sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись.
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 = ['*'])
Добавить ограничения для запроса отношения.
string getRelationCountHash(bool $incrementJoinCount = true)
Получить хэш таблицы объединения отношения.
protected array getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей.
protected Builder getRelationQuery()
Получить обработчик запросов, который будет содержать ограничения отношения.
Builder getQuery()
Получить основной запрос для отношения.
Builder getBaseQuery()
Получить основной обработчик запросов, управляющий обработчиком Eloquent.
Builder toBase()
Получить экземпляр основного обработчика запросов.
Модель getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя колонки «создано в».
string updatedAt()
Получить имя колонки «обновлено в».
string relatedUpdatedAt()
Получить имя колонки «обновлено в» для связанной модели.
protected void whereInEager(string $whereIn, string $key, array $modelKeys, Builder $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)
Определить карту сопоставления для полиморфных отношений и потребовать, чтобы все модели morphed были явно сопоставлены.
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)
Собрать ключи из массива связанных моделей.
Модель dissociate()
Отвязать ранее связанную модель от указанного родителя.
Модель disassociate()
Псевдоним метода "dissociate".
Библиотека getRelationExistenceQueryForSelfRelation(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса связи на той же таблице.
protected bool relationHasIncrementingId()
Определить, имеет ли связанная модель автоинкрементируемый ID.
Модель getChild()
Получить дочерний элемент связи.
string getForeignKeyName()
Получить внешний ключ связи.
string getQualifiedForeignKeyName()
Получить полностью квалифицированный внешний ключ связи.
string getOwnerKeyName()
Получить связанный ключ связи.
string getQualifiedOwnerKeyName()
Получить полностью квалифицированный связанный ключ связи.
protected mixed getForeignKeyFrom(Модель $model)
Получить значение внешнего ключа модели.
string getRelationName()
Получить имя связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/10.x/Illuminate/Database/Eloquent/Relations/BelongsTo.html