HasOne
class HasOne extends HasOneOrMany (View source)
Свойства
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | из Relation |
| protected Model | $parent | Экземпляр родительской модели. | из Relation |
| protected Model | $related | Экземпляр связанной модели. | из Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| static protected array | $morphMap | Массив для сопоставления имён классов с их именами морфизма в базе данных. | из Relation |
| protected string | $foreignKey | Внешний ключ родительской модели. | из HasOneOrMany |
| protected string | $localKey | Локальный ключ родительской модели. | из HasOneOrMany |
Методы
| void | __construct(Builder $query, Model $parent, string $foreignKey, string $localKey) Создать новый экземпляр отношения один-к-одному или один-ко-многим. | from HasOneOrMany |
| void | addConstraints() Установить базовые ограничения для запроса отношения. | from HasOneOrMany |
| void | addEagerConstraints(array $models) Установить ограничения для ленивой загрузки отношения. | from HasOneOrMany |
| array | initRelation(array $models, string $relation) Инициализировать отношение для набора моделей. | |
| array | match(array $models, Collection $results, string $relation) Сопоставить результаты ленивой загрузки с родительскими моделями. | |
| mixed | getResults() Получить результаты отношения. | |
| Collection | getEager() Получить отношение для ленивой загрузки. | from Relation |
| void | touch() Обновить метку времени модификации для всех связанных моделей. | from Relation |
| int | rawUpdate(array $attributes = []) Выполнить прямое обновление базы данных. | from Relation |
| Builder | getRelationCountQuery(Builder $query, Builder $parent) Добавить ограничения для запроса подсчета отношения. | from HasOneOrMany |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений для отношения. | from Relation |
| array | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | from Relation |
| Builder | getQuery() Получить базовый запрос для отношения. | from Relation |
| Builder | getBaseQuery() Получить базовый билдер запроса, используемый Eloquent билдером. | from Relation |
| Model | getParent() Получить родительскую модель отношения. | from Relation |
| string | getQualifiedParentKeyName() Получить полное имя ключа родительской модели. | from HasOneOrMany |
| Model | getRelated() Получить связанную модель отношения. | from Relation |
| string | createdAt() Получить имя столбца "created at". | from Relation |
| string | updatedAt() Получить имя столбца "updated at". | from Relation |
| string | relatedUpdatedAt() Получить имя столбца "updated at" связанной модели. | from Relation |
| string | wrap(string $value) Оборачивает значение с помощью грамматики родительского запроса. | from Relation |
| static array | morphMap(array $map = null, bool $merge = true) Установить или получить карту полиморфных отношений. | from Relation |
| static array|null | buildMorphMapFromModels(array $models = null) Создает таблично-индексированный массив из имен классов моделей. | from Relation |
| mixed | __call(string $method, array $parameters) Обрабатывает динамические вызовы методов отношения. | from Relation |
| void | __clone() Вынудительно клонирует базовый билдер запросов при клонировании. | from Relation |
| Builder | getRelationCountQueryForSelfRelation(Builder $query, Builder $parent) Добавить ограничения для запроса подсчета отношения на одной таблице. | from HasOneOrMany |
| string | getRelationCountHash() Получить хеш таблицы присоединения отношения. | from HasOneOrMany |
| array | matchOne(array $models, Collection $results, string $relation) Сопоставить результаты ленивой загрузки с единственным родительским элементом. | from HasOneOrMany |
| array | matchMany(array $models, Collection $results, string $relation) Сопоставить результаты ленивой загрузки со многими родительскими элементами. | from HasOneOrMany |
| массив | matchOneOrMany(массив $models, Collection $results, строка $relation, строка $type) Сопоставить загруженные с жадностью результаты с их родительскими элементами. | из HasOneOrMany |
| смешанный | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение отношения по типу один-к-одному или один-ко-многим. | из HasOneOrMany |
| массив | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| Модель|ложь | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | из HasOneOrMany |
| Collection|массив | saveMany(Collection|массив $models) Прикрепить коллекцию моделей к родительскому экземпляру. | из HasOneOrMany |
| Collection|Модель | findOrNew(смешанный $id, массив $columns = ['*']) Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели. | из HasOneOrMany |
| Модель | firstOrNew(массив $attributes) Получить первую связанную модель, соответствующую атрибутам, или создать её экземпляр. | из HasOneOrMany |
| Модель | firstOrCreate(массив $attributes) Получить первый связанный элемент, соответствующий атрибутам, или создать его. | из HasOneOrMany |
| Модель | updateOrCreate(массив $attributes, массив $values = []) Создать или обновить связанный элемент, соответствующий атрибутам, и заполнить его значениями. | из HasOneOrMany |
| Модель | create(массив $attributes) Создать новый экземпляр связанной модели. | из HasOneOrMany |
| массив | createMany(массив $records) Создать массив новых экземпляров связанной модели. | из HasOneOrMany |
| целое число | update(массив $attributes) Выполнить обновление всех связанных моделей. | из HasOneOrMany |
| строка | getHasCompareKey() Получить ключ для сравнения со значением родительского ключа в запросе "has". | из HasOneOrMany |
| строка | getForeignKey() Получить внешний ключ для отношения. | из HasOneOrMany |
| строка | getPlainForeignKey() Получить простой внешний ключ. | из HasOneOrMany |
| смешанный | getParentKey() Получить значение ключа родительского локального ключа. | из HasOneOrMany |
Подробности
пустое __construct(Builder $query, Модель $parent, строка $foreignKey, строка $localKey)
Создать новый экземпляр отношения один-к-одному или один-ко-многим.
пустое addConstraints()
Установить базовые ограничения в запросе отношения.
пустое addEagerConstraints(массив $models)
Установить ограничения для жадной загрузки отношения.
массив initRelation(массив $models, строка $relation)
Инициализировать отношение для набора моделей.
массив match(массив $models, Collection $results, строка $relation)
Сопоставить загруженные с жадностью результаты с их родителями.
смешанный getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для жадной загрузки.
пустое touch()
Обновить все связанные модели для отношения.
int rawUpdate(array $attributes = [])
Выполнить сырое обновление по базовому запросу.
Builder getRelationCountQuery(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчёта отношений.
static mixed noConstraints(Closure $callback)
Выполнить обратный вызов с отключенными ограничениями для отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запросов, управляющий билдером Eloquent.
Модель getParent()
Получить родительскую модель отношения.
строка getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя столбца "created at".
строка updatedAt()
Получить имя столбца "updated at".
строка relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
строка wrap(string $value)
Оборачивает заданное значение синтаксисом родительского запроса.
static массив morphMap(array $map = null, bool $merge = true)
Установить или получить карту morph для полиморфных отношений.
static protected массив|null buildMorphMapFromModels(array $models = null)
Строит таблично-ключевой массив из имён классов моделей.
mixed __call(string $method, array $parameters)
Обработка динамических вызовов методов для отношения.
void __clone()
Принудительное клонирование билдера базового запроса при клонировании.
Builder getRelationCountQueryForSelfRelation(Builder $query, Builder $parent)
Добавить ограничения для запроса подсчёта отношений на той же таблице.
строка getRelationCountHash()
Получить хэш таблицы соединения отношений.
массив matchOne(array $models, Collection $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственными родителями.
массив matchMany(array $models, Collection $results, string $relation)
Сопоставить загруженные с жадностью результаты со многими родителями.
protected array matchOneOrMany(array $models, Collection $results, string $relation, string $type)
Сопоставить загруженные с жадностью результаты с их родительскими моделями во множественном числе.
protected mixed getRelationValue(array $dictionary, string $key, string $type)
Получить значение связи по типу «один» или «многие».
protected array buildDictionary(Collection $results)
Создать словарь моделей, индексированный по внешнему ключу связи.
Collection|array saveMany(Collection|array $models)
Прикрепить коллекцию моделей к экземпляру родительской модели.
Collection|Model findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели.
Model firstOrNew(array $attributes)
Получить первую связанную модель, соответствующую атрибутам, или создать её экземпляр.
Model firstOrCreate(array $attributes)
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Model updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Model create(array $attributes)
Создать новый экземпляр связанной модели.
array createMany(array $records)
Создать массив новых экземпляров связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
string getHasCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
string getForeignKey()
Получить внешний ключ для связи.
string getPlainForeignKey()
Получить простой внешний ключ.
mixed getParentKey()
Получить значение ключа родительского локального ключа.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.1/Illuminate/Database/Eloquent/Relations/HasOne.html