Отношение
абстрактный класс Отношение реализует Builder (Посмотреть исходный код)
Трейты
| ForwardsCalls | |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. |
из Macroable |
| защищённый Builder | $query | Экземпляр Eloquent билдера запросов. |
|
| защищённый Model | $parent | Экземпляр родительской модели. |
|
| защищённый Model | $related | Экземпляр связанной модели. |
|
| статический защищённый булево значение | $constraints | Указывает, добавляет ли отношение ограничения. |
|
| статический массив | $morphMap | Массив для сопоставления имён классов с их именами морф-объектов в базе данных. |
|
| статический защищённый булево значение | $requireMorphMap | Предотвращает морф-отношения без морф-маппинга. |
|
| статический защищённый целое число | $selfJoinCount | Количество самосоединений. |
Методы
| 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)
Обрабатывать динамические вызовы методов к отношению. | |
| void | __construct(Builder $query, Model $parent)
Создать новый экземпляр отношения. | |
| 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()
Получить отношение для отложенной загрузки. | |
| Model | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственный соответствующий элемент записи. | |
| Collection | get(array $columns = ['*'])
Выполнить запрос как операцию "выбрать". | |
| 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)
Получить хеш таблицы соединения отношения. | |
| array | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | |
| Builder | getRelationQuery()
Получить конструктор запроса, содержащий ограничения отношения. | |
| Builder | getQuery()
Получить базовый запрос для отношения. | |
| Builder | getBaseQuery()
Получить базовый конструктор запроса, управляющий конструктором Eloquent. | |
| Builder | toBase()
Получить экземпляр базового конструктора запроса. | |
| Model | getParent()
Получить родительскую модель отношения. | |
| string | getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа. | |
| Model | getRelated()
Получить связанную модель отношения. | |
| string | createdAt()
Получить имя столбца "created at". | |
| string | updatedAt()
Получить имя столбца "updated at". | |
| string | relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели. | |
| string | whereInMethod(Model $model, string $key)
Получить имя метода "where in" для отложенной загрузки. | |
| static void | requireMorphMap(bool $requireMorphMap = true)
Предотвратить использование полиморфных отношений без отображения моделей. | |
| static bool | requiresMorphMap()
Определить, требуют ли полиморфные отношения явного отображения моделей. |
| статический массив | enforceMorphMap(массив $map, bool $merge = true)
Определите карту морфизма для полиморфных отношений и требуйте, чтобы все модели морфизма были явно сопоставлены. | |
| статический массив | morphMap(массив $map = null, bool $merge = true)
Установите или получите карту морфизма для полиморфных отношений. | |
| статический массив|null | buildMorphMapFromModels(массив $models = null)
Создаёт таблично-ключевой массив из имён классов моделей. | |
| статический строка|null | getMorphedModel(строка $alias)
Получите модель, связанную с пользовательским полиморфным типом. | |
| void | __clone()
Принудительно клонировать базовый генератор запросов при клонировании. |
Подробности
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)
Обработать динамические вызовы метода для отношения.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для отношения.
abstract void addConstraints()
Установить базовые ограничения для запроса отношения.
abstract void addEagerConstraints(array $models)
Установить ограничения для жадной загрузки отношения.
abstract array initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей.
abstract array match(array $models, Collection $results, string $relation)
Сопоставить загруженные с жадной загрузкой результаты с их родителями.
abstract 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 = ['*'])
Добавить ограничения для внутреннего запроса существования отношения.
В сущности, эти запросы сравнивают по именам столбцов, например, с помощью whereColumn.
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()
Получить имя столбца «создано в».
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)
Определить сопоставление морф для полиморфных отношений и потребовать, чтобы все модели 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()
Вынудительное клонирование основного билдера запроса при клонировании.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/9.x/Illuminate/Database/Eloquent/Relations/Relation.html