HasOne
class HasOne extends HasOneOrMany (View source)
Свойства
| SupportsDefaultModels |
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённый Builder | $query | Экземпляр Eloquent-строителя запросов. | из Relation |
| защищённый Model | $parent | Экземпляр родительской модели. | из Relation |
| защищённый Model | $related | Экземпляр связанной модели. | из Relation |
| статический защищённый bool | $constraints | Указывает, добавляет ли отношение ограничения. | из Relation |
| статический защищённый массив | $morphMap | Массив для сопоставления имён классов с их именами морфинга в базе данных. | из Relation |
| защищённый строка | $foreignKey | Внешний ключ родительской модели. | из HasOneOrMany |
| защищённый строка | $localKey | Локальный ключ родительской модели. | из HasOneOrMany |
| статический защищённый целое число | $selfJoinCount | Количество самосоединений. | из HasOneOrMany |
| protected Closure|array|bool | $withDefault | Указывает, следует ли использовать экземпляр модели по умолчанию. | from SupportsDefaultModels |
Методы
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательское макро. | from Macroable |
| static void | mixin(object $mixin) Смешать другой объект в класс. | from Macroable |
| static bool | hasMacro(string $name) Проверяет, зарегистрировано ли макро. | from Macroable |
| static mixed | __callStatic(string $method, array $parameters) Динамически обрабатывать вызовы к классу. | from Macroable |
| mixed | __call(string $method, array $parameters) Динамически обрабатывать вызовы к классу. | from Macroable |
| void | __construct(Builder $query, Model $parent, string $foreignKey, string $localKey) Создать новый экземпляр отношения один-к-одному или один-ко-многим. | from HasOneOrMany |
| static mixed | noConstraints(Closure $callback) Выполнить обратный вызов без ограничений на отношение. | from Relation |
| 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() Получить отношение для ленивой загрузки. | |
| Collection | get(array $columns = ['*']) Выполнить запрос в виде оператора "select". | from Relation |
| void | touch() Обновить метку времени всех связанных моделей для отношения. | from Relation |
| int | rawUpdate(array $attributes = []) Выполнить сырое обновление по базовому запросу. | from Relation |
| Builder | getRelationExistenceCountQuery(Builder $query, Builder $parentQuery) Добавить ограничения для запроса подсчёта существования связи. | from Relation |
| Builder | getRelationExistenceQuery(Builder $query, Builder $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса связи. | from HasOneOrMany |
| array | getKeys(array $models, string $key = null) Получить все первичные ключи для массива моделей. | from Relation |
| Builder | getQuery() Получить базовый запрос для связи. | from Relation |
| Builder | getBaseQuery() Получить базовый билдер запроса, управляющий билдером Eloquent. | from Relation |
| Модель | getParent() Получить родительскую модель отношения. | из Отношение |
| строка | getQualifiedParentKeyName() Получить полное имя родительского ключа. | из HasOneOrMany |
| Модель | getRelated() Получить связанную модель отношения. | из Отношение |
| строка | createdAt() Получить имя столбца "создано в". | из Отношение |
| строка | updatedAt() Получить имя столбца "обновлено в". | из Отношение |
| строка | relatedUpdatedAt() Получить имя столбца "обновлено в" связанной модели. | из Отношение |
| статический массив | morphMap(array $map = null, bool $merge = true) Установить или получить карту морфизма для полиморфных отношений. | из Отношение |
| статический массив|null | buildMorphMapFromModels(массив $models = null) Создаёт массив, индексированный по таблицам, из имён классов моделей. | из Relation |
| статический строка|null | getMorphedModel(строка $alias) Получить модель, связанную с пользовательским полиморфным типом. | из Relation |
| void | __clone() Принудительно клонирует базовый билдер запросов при клонировании. | из Relation |
| Модель | make(массив $attributes = []) Создать и вернуть несохранённую экземпляр связанной модели. | из HasOneOrMany |
| массив | matchOne(массив $models, Коллекция $results, строка $relation) Сопоставить результаты жадного загрузки с их единственными родителями. | из HasOneOrMany |
| массив | matchMany(массив $models, Коллекция $results, строка $relation) Сопоставить результаты жадного загрузки с их множественными родителями. | из HasOneOrMany |
| массив | matchOneOrMany(массив $models, Collection $results, строка $relation, строка $type) Сопоставить загруженные результаты с их множественными родительскими элементами. | из HasOneOrMany |
| смешанный тип | getRelationValue(массив $dictionary, строка $key, строка $type) Получить значение связи по типу один-ко-многим. | из HasOneOrMany |
| массив | buildDictionary(Collection $results) Создать словарь моделей, индексированный по внешнему ключу связи. | из HasOneOrMany |
| Collection|Модель | findOrNew(смешанный тип $id, массив $columns = ['*']) Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели. | из HasOneOrMany |
| Модель | firstOrNew(массив $attributes, массив $values = []) Получить первую запись связанной модели, соответствующую атрибутам, или создать её экземпляр. | из HasOneOrMany |
| Модель | firstOrCreate(array $attributes, array $values = []) Получить первую связанную запись, соответствующую атрибутам, или создать её. | из HasOneOrMany |
| Модель | updateOrCreate(array $attributes, array $values = []) Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | из HasOneOrMany |
| Модель|false | save(Модель $model) Прикрепить экземпляр модели к родительской модели. | из HasOneOrMany |
| Traversable|array | saveMany(Traversable|array $models) Прикрепить коллекцию моделей к родительскому экземпляру. | из HasOneOrMany |
| Модель | create(array $attributes = []) Создать новый экземпляр связанной модели. | из HasOneOrMany |
| Коллекция | createMany(array $records) Создать коллекцию новых экземпляров связанной модели. | из HasOneOrMany |
| void | setForeignAttributesForCreate(Модель $model) Установить внешний идентификатор для создания связанной модели. | from HasOneOrMany |
| int | update(array $attributes) Выполнить обновление всех связанных моделей. | from HasOneOrMany |
| Билдер | getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*']) Добавить ограничения для запроса отношения на том же столе. | from HasOneOrMany |
| string | getRelationCountHash() Получить хеш для таблицы объединения отношений. | from HasOneOrMany |
| string | getExistenceCompareKey() Получить ключ для сравнения с ключом родительской модели в запросе "has". | from HasOneOrMany |
| mixed | getParentKey() Получить значение ключа родительской модели. | from HasOneOrMany |
| string | getForeignKeyName() Получить простое внешнее ключи. | from HasOneOrMany |
| string | getQualifiedForeignKeyName() Получить внешнее ключи для отношения. | from HasOneOrMany |
| Model | newRelatedInstanceFor(Model $parent) Создать новый связанный экземпляр для заданной модели. | |
| $this | withDefault(Closure|array|bool $callback = true) Возвращает новый экземпляр модели в случае, если отношение не существует. | from SupportsDefaultModels |
| Model|null | getDefaultFor(Model $parent) Получить значение по умолчанию для этого отношения. | from SupportsDefaultModels |
Подробности
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро.
static void mixin(object $mixin)
Смешать другой объект в класс.
static bool hasMacro(string $name)
Проверяет, зарегистрирован ли макрос.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы к классу.
mixed __call(string $method, array $parameters)
Динамически обрабатывает вызовы к классу.
void __construct(Builder $query, Model $parent, string $foreignKey, string $localKey)
Создать новый экземпляр отношения один-к-одному или один-ко-многим.
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)
Сопоставить загруженные с помощью eager loading результаты с родительскими объектами.
mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для eager loading.
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 = ['*'])
Добавить ограничения для запроса отношения.
protected array getKeys(array $models, string $key = null)
Получить все первичные ключи для массива моделей.
Builder getQuery()
Получить базовый запрос для отношения.
Builder getBaseQuery()
Получить базовый билдер запроса, управляющий билдером Eloquent.
Модель getParent()
Получить родительскую модель отношения.
string getQualifiedParentKeyName()
Получить полное квалифицированное имя родительского ключа.
Модель getRelated()
Получить связанную модель отношения.
string createdAt()
Получить имя столбца "создано в".
string updatedAt()
Получить имя столбца "обновлено в".
string relatedUpdatedAt()
Получить имя столбца "обновлено в" для связанной модели.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить отображение morph для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создаёт массив, индексированный таблицами, из имён классов моделей.
static string|null getMorphedModel(string $alias)
Получить модель, связанную с пользовательским полиморфным типом.
void __clone()
Принудительно клонировать базовый билдер запросов при клонировании.
Модель make(array $attributes = [])
Создать и вернуть несохранённую инстанцию связанной модели.
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)
Создать словарь модели, индексированный по внешнему ключу отношения.
Collection|Model findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели.
Модель firstOrNew(array $attributes, array $values = [])
Получить первую связанную модель, соответствующую атрибутам, или создать её.
Модель firstOrCreate(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
Traversable|array saveMany(Traversable|array $models)
Присоединить коллекцию моделей к родительскому экземпляру.
Модель create(array $attributes = [])
Создать новый экземпляр связанной модели.
Коллекция createMany(array $records)
Создать Коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор для создания связанной модели.
int update(array $attributes)
Выполнить обновление всех связанных моделей.
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса связи на том же столе.
string getRelationCountHash()
Получить хеш таблицы соединения связи.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
mixed getParentKey()
Получить значение ключа родительского локального ключа.
string getForeignKeyName()
Получить простое внешнее ключевое поле.
string getQualifiedForeignKeyName()
Получить внешнее ключевое поле для связи.
$this withDefault(Closure|array|bool $callback = true)
Возвратить новый экземпляр модели в случае отсутствия связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Relations/HasOne.html