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