HasOneOrMany
class HasOneOrMany extends Relation (View source)
Свойства
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | from Relation |
| protected Model | $parent | Экземпляр родительской модели. | from Relation |
| protected Model | $related | Экземпляр связанной модели. | from Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | from Relation |
| protected string | $foreignKey | Внешний ключ родительской модели. | |
| protected string | $localKey | Локальный ключ родительской модели. |
Методы
| void | __construct(Builder $query, Model $parent, string $foreignKey, string $localKey) Создать новый экземпляр отношения «многие ко многим». | |
| void | addConstraints() Установить базовые ограничения для запроса отношения. | |
| void | addEagerConstraints(array $models) Установить ограничения для ленивой загрузки отношения. | |
| array | initRelation(array $models, string $relation) Инициализировать отношение для набора моделей. | из Relation |
| array | match(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их родительскими элементами. | из Relation |
| mixed | getResults() Получить результаты отношения. | из Relation |
| Collection | getEager() Получить отношение для ленивой загрузки. | из Relation |
| void | touch() Обновить метку времени последнего изменения для всех связанных моделей. | из Relation |
| int | rawUpdate(array $attributes = array()) Выполнить сырое обновление основного запроса. | из Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчёта отношения. | из Relation |
| 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() Получить полное имя ключа родительской записи. | |
| Model | getRelated() Получить связанную модель отношения. | из Relation |
| string | createdAt() Получить имя колонки «создано в». | из Relation |
| string | updatedAt() Получить имя колонки «обновлено в». | из Relation |
| string | relatedUpdatedAt() Получить имя колонки «обновлено в» связанной модели. | из Relation |
| string | wrap(string $value) Обернуть значение с помощью грамматики родительского запроса. | из Relation |
| mixed | __call(string $method, array $parameters) Обработать вызовы динамических методов к отношению. | из Relation |
| array | matchOne(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их единственным родительским элементом. | |
| array | matchMany(array $models, Collection $results, string $relation) Сопоставить загруженные результаты с их множественными родительскими элементами. | |
| array | matchOneOrMany(array $models, Collection $results, string $relation, string $type) Сопоставить загруженные результаты с их множественными родительскими элементами. | |
| mixed | getRelationValue(array $dictionary, string $key, string $type) Получить значение отношения по типу «один к одному» или «многие ко многим». | |
| array | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | |
| Model | save(Model $model) Прикрепить экземпляр модели к родительской модели. | |
| array | saveMany(array $models) Прикрепить массив моделей к родительскому экземпляру. | |
| Model | create(array $attributes) Создать новый экземпляр связанной модели. | |
| array | createMany(array $records) Создать массив новых экземпляров связанной модели. | |
| int | update(array $attributes) Выполнить обновление всех связанных моделей. | |
| string | getHasCompareKey() Получить ключ для сравнения с родительским ключом в запросе «has». | |
| string | getForeignKey() Получить внешний ключ для отношения. |
| string | getPlainForeignKey() Получить простое внешнее ключевое поле. | |
| mixed | getParentKey() Получить значение ключа родительского локального ключа. |
Подробности
void __construct(Builder $query, Model $parent, string $foreignKey, string $localKey)
Создать новый экземпляр отношения "многие ко многим".
void addConstraints()
Установить базовые ограничения на запрос отношения.
void addEagerConstraints(array $models)
Установить ограничения для жадного загрузки отношения.
abstract array initRelation(array $models, string $relation)
Инициализировать отношение на наборе моделей.
abstract array match(array $models, Collection $results, string $relation)
Сопоставить загруженные результаты с их родителями.
abstract mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для жадной загрузки.
void touch()
Изменить метку времени всех связанных моделей для отношения.
int rawUpdate(array $attributes = array())
Выполнить операцию raw update для основного запроса.
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()
Получить имя колонки "created at".
string updatedAt()
Получить имя колонки "updated at".
string relatedUpdatedAt()
Получить имя колонки "updated at" связанной модели.
string wrap(string $value)
Оборачивает заданное значение грамматикой родительского запроса.
смешанный тип __call(string $method, array $parameters)
Обработка динамических вызовов методов для отношения.
массив matchOne(array $models, Collection $results, string $relation)
Сопоставление загруженных с жадностью результатов с их единственным родителем.
массив matchMany(array $models, Collection $results, string $relation)
Сопоставление загруженных с жадностью результатов с их множеством родителей.
protected массив matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставление загруженных с жадностью результатов с их множеством родителей.
protected смешанный тип getRelationValue(array $dictionary, string $key, string $type)
Получение значения отношения по типу «один» или «многие».
protected массив buildDictionary(Collection $results)
Создание словаря моделей, индексированного по внешнему ключу отношения.
массив saveMany(array $models)
Присоединение массива моделей к родительскому экземпляру.
Модель create(array $attributes)
Создание нового экземпляра связанной модели.
массив createMany(array $records)
Создание массива новых экземпляров связанной модели.
целое число update(array $attributes)
Выполнение обновления всех связанных моделей.
строка getHasCompareKey()
Получение ключа для сравнения с родительским ключом в запросе «has».
строка getForeignKey()
Получение внешнего ключа для отношения.
строка getPlainForeignKey()
Получение простого внешнего ключа.
смешанный тип getParentKey()
Получение значения ключа родительского локального ключа.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/4.2/Illuminate/Database/Eloquent/Relations/HasOneOrMany.html