HasOne
класс HasOne расширяет HasOneOrMany (Просмотреть исходный код)
Трейты
| SupportsDefaultModels | |
| ForwardsCalls | |
| Macroable |
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | from Macroable |
| protected Builder | $query | Экземпляр билдера запросов Eloquent. | from Relation |
| protected Model | $parent | Экземпляр родительской модели. | from Relation |
| protected Model | $related | Экземпляр связанной модели. | from Relation |
| static protected bool | $constraints | Указывает, добавляет ли отношение ограничения. | from Relation |
| static array | $morphMap | Массив для сопоставления имён классов с их именами морф в базе данных. | from Relation |
| protected string | $foreignKey | Внешний ключ родительской модели. | from HasOneOrMany |
| protected string | $localKey | Локальный ключ родительской модели. | from HasOneOrMany |
| static protected int | $selfJoinCount | Количество самосоединений. | from HasOneOrMany |
| protected Closure|array|bool | $withDefault | Указывает, следует ли использовать экземпляр модели по умолчанию. | from SupportsDefaultModels |
Методы
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Передать вызов метода заданному объекту. | from ForwardsCalls |
| static void | throwBadMethodCallException(string $method)
Выбросить исключение плохого вызова метода для данного метода. | from ForwardsCalls |
| static void | macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро. | from Macroable |
| static void | mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс. | 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()
Получить результаты связи. |
| Коллекция | getEager()
Получить отношение для ленивой загрузки. | из Отношения |
| Коллекция | get(array $columns = ['*'])
Выполнить запрос как операцию "выбор". | из Отношения |
| void | touch()
Обновить все связанные модели для отношения. | из Отношения |
| int | rawUpdate(array $attributes = [])
Выполнить обновление с использованием SQL-запроса. | из Отношения |
| Строитель | getRelationExistenceCountQuery(Строитель $query, Строитель $parentQuery)
Добавить ограничения для запроса подсчета существования отношения. | из Отношения |
| Строитель | getRelationExistenceQuery(Строитель $query, Строитель $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения. | из ОдинКОдномуИлиНескольким |
| 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()
Получить имя столбца "обновлено в". | from Relation |
| string | relatedUpdatedAt()
Получить имя столбца "обновлено в" связанной модели. | from Relation |
| string | whereInMethod(Model $model, string $key)
Получить имя метода "where in" для леничной загрузки. | 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 |
| Collection|Модель | findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели. | from HasOneOrMany |
| Модель | firstOrNew(array $attributes, array $values = [])
Получить первую связанную запись модели, соответствующую атрибутам, или создать её экземпляр. | from HasOneOrMany |
| Модель | firstOrCreate(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её. | from HasOneOrMany |
| Модель | updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями. | from HasOneOrMany |
| Модель|false | save(Модель $model)
Прикрепить экземпляр модели к родительской модели. | from HasOneOrMany |
| iterable | saveMany(iterable $models)
Прикрепить коллекцию моделей к родительскому экземпляру. | from HasOneOrMany |
| Модель | create(array $attributes = [])
Создать новый экземпляр связанной модели. | из HasOneOrMany |
| Коллекция | createMany(iterable $records)
Создать Коллекцию новых экземпляров связанной модели. | из HasOneOrMany |
| void | setForeignAttributesForCreate(Модель $model)
Установить внешний идентификатор для создания связанной модели. | из HasOneOrMany |
| Билдер | getRelationExistenceQueryForSelfRelation(Билдер $query, Билдер $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса связи на той же таблице. | из HasOneOrMany |
| строка | getRelationCountHash()
Получить хеш таблицы соединения связи. | из HasOneOrMany |
| строка | getExistenceCompareKey()
Получить ключ для сравнения с ключом родителя в запросе "has". | из HasOneOrMany |
| mixed | getParentKey()
Получить значение ключа родительского элемента локального ключа. | from HasOneOrMany |
| string | getForeignKeyName()
Получить простой внешний ключ. | from HasOneOrMany |
| string | getQualifiedForeignKeyName()
Получить внешний ключ для связи. | from HasOneOrMany |
| string | getLocalKeyName()
Получить локальный ключ для связи. | from HasOneOrMany |
| Model | newRelatedInstanceFor(Model $parent)
Создать новый связанный экземпляр для заданной модели. | |
| $this | withDefault(Closure|array|bool $callback = true)
Возвратить новый экземпляр модели в случае, если связь не существует. | from SupportsDefaultModels |
| Модель|null | getDefaultFor(Модель $parent)
Получить значение по умолчанию для этого отношения. | из SupportsDefaultModels |
Подробности
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Переадресовать вызов метода данному объекту.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение BadMethodCallException для заданного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро.
static void mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс.
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()
Получить имя столбца "created at".
string updatedAt()
Получить имя столбца "updated at".
string relatedUpdatedAt()
Получить имя столбца "updated at" связанной модели.
protected string whereInMethod(Model $model, string $key)
Получить имя метода "where in" для ленивой загрузки.
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, Коллекция $results, string $relation)
Сопоставить загруженные с жадностью результаты с их единственными родительскими элементами.
array matchMany(array $models, Коллекция $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|Модель findOrNew(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр связанной модели.
Модель firstOrNew(array $attributes, array $values = [])
Получить первую связанную запись модели, соответствующую атрибутам, или создать её.
Модель firstOrCreate(array $attributes, array $values = [])
Получить первую связанную запись, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.
iterable saveMany(iterable $models)
Прикрепить коллекцию моделей к родительскому экземпляру.
Модель create(array $attributes = [])
Создать новый экземпляр связанной модели.
Коллекция createMany(iterable $records)
Создать Коллекцию новых экземпляров связанной модели.
protected void setForeignAttributesForCreate(Модель $model)
Установить внешний ID для создания связанной модели.
Библиотека getRelationExistenceQueryForSelfRelation(Библиотека $query, Библиотека $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношений на том же столе.
строка getRelationCountHash()
Получить хеш таблицы соединения отношений.
string getExistenceCompareKey()
Получить ключ для сравнения с родительским ключом в запросе "has".
mixed getParentKey()
Получить значение ключа родительского объекта.
string getForeignKeyName()
Получить простой внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для связи.
string getLocalKeyName()
Получить локальный ключ для связи.
$this withDefault(Closure|array|bool $callback = true)
Возвращает новую модель, если отношение не существует.
protected Model|null getDefaultFor(Model $parent)
Получить значение по умолчанию для этого отношения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/6.x/Illuminate/Database/Eloquent/Relations/HasOne.html