HasManyThrough
class HasManyThrough extends Relation (View source)
Свойства
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| protected Model | $parent | Экземпляр родительской модели. | из Relation |
| protected Model | $related | Экземпляр связанной модели. | из Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| protected Model | $farParent | Экземпляр модели родителя на расстоянии. | |
| protected string | $firstKey | Ближайший ключ в отношении. | |
| protected string | $secondKey | Дальний ключ в отношении. |
Методы
| void | __construct(Builder $query, Model $farParent, Model $parent, string $firstKey, string $secondKey) Создать новый экземпляр отношения "имеет много". | |
| 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 |
| void | touch() Обновить метки времени всех связанных моделей для отношения. | из Relation |
| int | rawUpdate(array $attributes = array()) Выполнить прямое обновление базового запроса. | из Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчета отношения. | |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений для отношения. | из Relation |
| array | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | из Relation |
| Builder | getQuery() Получить базовый запрос для отношения. | из Relation |
| Builder | getBaseQuery() Получить базовый билдер запроса, управляющий билдером Eloquent. | из Relation |
| Model | getParent() Получить родительскую модель отношения. | из Relation |
| string | getQualifiedParentKeyName() Получить полное квалифицированное имя родительского ключа. | из Relation |
| Model | getRelated() Получить связанную модель отношения. | из Relation |
| string | createdAt() Получить имя колонки "created at". | из Relation |
| string | updatedAt() Получить имя колонки "updated at". | из Relation |
| string | relatedUpdatedAt() Получить имя колонки "updated at" связанной модели. | из Relation |
| string | wrap(string $value) Оборачивает заданное значение с помощью грамматики родительского запроса. | из Relation |
| mixed | __call(string $method, array $parameters) Обрабатывает динамические вызовы методов отношения. | из Relation |
| void | setJoin(Builder $query = null) Установить условие объединения в запросе. | |
| array | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | |
| Collection | get(array $columns = array('*')) Выполнить запрос в качестве оператора "select". | |
| BelongsToMany | getSelectColumns(array $columns = array('*')) Установить оператор "select" для запроса отношения. | |
| Paginator | paginate(int $perPage = null, array $columns = array('*')) Получить пагинатор для оператора "select". | |
| string | getHasCompareKey() Получить ключ для сравнения с родительским ключом в запросе "has". |
Подробности
void __construct(Builder $query, Model $farParent, Model $parent, string $firstKey, string $secondKey)
Создать новый экземпляр отношения "имеет много".
void addConstraints()
Установить базовые ограничения на запрос отношения.
void addEagerConstraints(array $models)
Установить ограничения для жадной загрузки отношения.
array initRelation(array $models, string $relation)
Инициализировать отношение для набора моделей.
array match(array $models, Collection $results, string $relation)
Сопоставить результаты жадной загрузки с их родительскими объектами.
mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для жадной загрузки.
void touch()
Обновить все связанные модели для отношения.
int rawUpdate(array $attributes = array())
Выполнить прямое обновление по базовому запросу.
Builder getRelationCountQuery(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчета отношения.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запроса, используемый Eloquent билдером.
Model getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа.
Model getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца «создано в».
string updatedAt()
Получить имя столбца «обновлено в».
string relatedUpdatedAt()
Получить имя столбца «обновлено в» для связанной модели.
string wrap(string $value)
Оборачивает заданное значение с помощью синтаксического анализатора родительского запроса.
mixed __call(string $method, array $parameters)
Обработка динамических вызовов методов отношения.
protected void setJoin(Builder $query = null)
Установить предложение JOIN в запросе.
protected array buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу отношения.
Коллекция get(array $columns = array('*'))
Выполнить запрос в качестве оператора «выбор».
protected BelongsToMany getSelectColumns(array $columns = array('*'))
Установить оператор выбора для запроса отношения.
Пагинатор paginate(int $perPage = null, array $columns = array('*'))
Получить пагинатор для оператора «выбор».
string getHasCompareKey()
Получить ключ для сравнения с ключом родителя в запросе «has».
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/4.2/Illuminate/Database/Eloquent/Relations/HasManyThrough.html