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 |
| static protected int | $selfJoinCount | Количество самосоединений. | из HasOneOrMany |
| protected Closure|bool | $withDefault | Указывает, следует ли использовать экземпляр модели по умолчанию. |
Методы
| 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 Relation |
| Builder | getRelationQuery(Builder $query, Builder $parent, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения. | 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 | getRelationQueryForSelfRelation(Builder $query, Builder $parent, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения в той же таблице. | from HasOneOrMany |
| string | getRelationCountHash() Получить хеш таблицы объединения отношения. | from HasOneOrMany |
| array | matchOne(array $models, Collection $results, string $relation) Сопоставить загруженные лениво результаты с их единственным родительским элементом. | from HasOneOrMany |
| массив | matchMany(массив $models, Collection $results, строка $relation) Сопоставить загруженные с помощью eager loading результаты с их множественными родительскими элементами. | из HasOneOrMany |
| массив | matchOneOrMany(массив $models, Collection $results, строка $relation, строка $type) Сопоставить загруженные с помощью eager loading результаты с их множественными родительскими элементами. | из HasOneOrMany |
| смешанный | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение отношения по типу «один ко многим». | из HasOneOrMany |
| массив | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу отношения. | из HasOneOrMany |
| Модель | save(Модель $model) Присоединить экземпляр модели к родительской модели. | из HasOneOrMany |
| Traversable|массив | saveMany(Traversable|массив $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 |
| $this | withDefault(Closure|логический $callback = true) Возвратить новый экземпляр модели в случае отсутствия отношения. | |
| Модель|null | getDefaultFor(Модель $model) Получить значение по умолчанию для этого отношения. |
Подробности
пусто __construct(Builder $query, Модель $parent, строка $foreignKey, строка $localKey)
Создать новый экземпляр отношения.
пусто addConstraints()
Установить базовые ограничения для запроса отношения.
пусто addEagerConstraints(массив $models)
Установить ограничения для eager loading отношения.
массив initRelation(массив $models, строка $relation)
Инициализировать отношение для набора моделей.
массив match(массив $models, Collection $results, строка $relation)
Сопоставить загруженные с помощью eager loading результаты с родительскими элементами.
смешанный getResults()
Получить результаты отношения.
Коллекция getEager()
Получить отношение для ленивой загрузки.
пустое значение touch()
Обновить все связанные модели для отношения.
целое число rawUpdate(array $attributes = [])
Выполнить прямое обновление по базовому запросу.
Билдэр getRelationCountQuery(Билдэр $query, Билдэр $parent)
Добавить ограничения для запроса подсчета отношений.
Билдэр getRelationQuery(Билдэр $query, Билдэр $parent, array|смешанный $columns = ['*'])
Добавить ограничения для запроса отношения.
статический смешанный noConstraints(Closure $callback)
Выполнить обратный вызов без ограничений для отношения.
защищённый массив getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Билдэр getQuery()
Получить базовый запрос для отношения.
Билдэр getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent.
Модель getParent()
Получить родительскую модель отношения.
строка getQualifiedParentKeyName()
Получить полностью квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
строка createdAt()
Получить имя столбца «created at».
строка updatedAt()
Получить имя столбца «updated at».
строка relatedUpdatedAt()
Получить имя столбца «updated at» связанной модели.
строка wrap(string $value)
Оборачивает заданное значение с помощью синтаксиса родительского запроса.
статический массив morphMap(array $map = null, bool $merge = true)
Установить или получить карту морфизма для полиморфных отношений.
статический защищённый массив|null buildMorphMapFromModels(array $models = null)
Создаёт таблично-индексированный массив из имён классов моделей.
смешанный __call(string $method, array $parameters)
Обработка вызовов динамических методов для отношения.
пустое значение __clone()
Вынудительное клонирование билдера подлежащего запроса при клонировании.
Builder getRelationQueryForSelfRelation(Builder $query, Builder $parent, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на той же таблице.
string getRelationCountHash()
Получить хэш таблицы соединения отношения.
array matchOne(array $models, Collection $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственными родителями.
array 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)
Создать словарь моделей, индексированный по внешнему ключу отношения.
Traversable|array saveMany(Traversable|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()
Получить значение ключа родительского локального ключа.
$this withDefault(Closure|bool $callback = true)
Возвращает новый экземпляр модели в случае отсутствия связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.3/Illuminate/Database/Eloquent/Relations/HasOne.html