Отношение
абстрактный класс Отношение mixin 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 = ['*'])
Выполнить запрос как оператор "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)
Получить хэш таблицы соединения отношений. | |
| array | getKeys(array $models, string|null $key = null)
Получить все первичные ключи для массива моделей. | |
| Builder | getRelationQuery()
Получить построитель запросов, который будет содержать ограничения связи. | |
| Builder | getQuery()
Получить базовый запрос для связи. | |
| Builder | getBaseQuery()
Получить базовый запрос, управляющий построителем Eloquent. | |
| Model | getParent()
Получить родительскую модель связи. | |
| string | getQualifiedParentKeyName()
Получить полностью определенное имя родительского ключа. | |
| Model | getRelated()
Получить связанную модель связи. | |
| string | createdAt()
Получить имя столбца "создано в". | |
| string | updatedAt()
Получить имя столбца "обновлено в". | |
| string | relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели. | |
| 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)
Определить карту морфинга для полиморфных отношений и потребовать, чтобы все модели с морфингом были явно сопоставлены. |
| статический массив | morphMap(массив $map = null, bool $merge = true)
Установить или получить морфинг-отображение для полиморфных отношений. | |
| статический массив|null | buildMorphMapFromModels(массив $models = null)
Создает массив с ключами-таблицами из имен классов моделей. | |
| статический строка|null | getMorphedModel(строка $alias)
Получить модель, связанную с пользовательским полиморфным типом. | |
| void | __clone()
Принудительно клонировать базовый билдер запроса при клонировании. |
Детали
protected смешанный тип forwardCallTo(смешанный тип $object, строка $method, массив $parameters)
Перенаправить вызов метода на указанный объект.
protected смешанный тип forwardDecoratedCallTo(смешанный тип $object, строка $method, массив $parameters)
Перенаправить вызов метода на указанный объект, возвращая $this, если перенаправленный вызов вернул себя.
static protected void throwBadMethodCallException(строка $method)
Выбросить исключение BadMethodCallException для данного метода.
static void macro(строка $name, объект|вызываемый объект $macro)
Зарегистрировать пользовательский макрос.
static void mixin(объект $mixin, bool $replace = true)
Смешать другой объект в класс.
static bool hasMacro(строка $name)
Проверяет, зарегистрирован ли макрос.
static void flushMacros()
Очистить существующие макросы.
static смешанный тип __callStatic(строка $method, массив $parameters)
Динамически обработать вызовы класса.
смешанный тип __call(строка $method, массив $parameters)
Обработать динамические вызовы методов к отношению.
static смешанный тип noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для отношения.
abstract void addConstraints()
Установить базовые ограничения для запроса отношения.
abstract void addEagerConstraints(массив $models)
Установить ограничения для жадного загрузки отношения.
abstract массив initRelation(массив $models, строка $relation)
Инициализировать отношение для набора моделей.
abstract массив match(массив $models, Collection $results, строка $relation)
Сопоставить загруженные результаты с их родителями.
abstract смешанный тип 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 = ['*'])
Добавить ограничения для внутреннего запроса существования связи.
В сущности, эти запросы сравнивают имена столбцов, как в `whereColumn`.
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()
Вынудительно клонировать подлежащий билдер запросов при клонировании.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Relations/Relation.html