Spec-Zone.ru › Laravel 5.3

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)

Создать новый экземпляр отношения.

Параметры

Builder $query
Модель $parent
строка $foreignKey
строка $localKey

Возвращаемое значение

пусто

пусто addConstraints()

Установить базовые ограничения для запроса отношения.

Возвращаемое значение

пусто

пусто addEagerConstraints(массив $models)

Установить ограничения для eager loading отношения.

Параметры

массив $models

Возвращаемое значение

пусто

массив initRelation(массив $models, строка $relation)

Инициализировать отношение для набора моделей.

Параметры

массив $models
строка $relation

Возвращаемое значение

массив

массив match(массив $models, Collection $results, строка $relation)

Сопоставить загруженные с помощью eager loading результаты с родительскими элементами.

Параметры

массив $models
Collection $results
строка $relation

Возвращаемое значение

массив

смешанный getResults()

Получить результаты отношения.

Значение возврата

смешанный

Коллекция getEager()

Получить отношение для ленивой загрузки.

Значение возврата

Коллекция

пустое значение touch()

Обновить все связанные модели для отношения.

Значение возврата

пустое значение

целое число rawUpdate(array $attributes = [])

Выполнить прямое обновление по базовому запросу.

Параметры

массив $attributes

Значение возврата

целое число

Билдэр getRelationCountQuery(Билдэр $query, Билдэр $parent)

Добавить ограничения для запроса подсчета отношений.

Параметры

Билдэр $query
Билдэр $parent

Значение возврата

Билдэр

Билдэр getRelationQuery(Билдэр $query, Билдэр $parent, array|смешанный $columns = ['*'])

Добавить ограничения для запроса отношения.

Параметры

Билдэр $query
Билдэр $parent
array|смешанный $columns

Значение возврата

Билдэр

статический смешанный noConstraints(Closure $callback)

Выполнить обратный вызов без ограничений для отношения.

Параметры

Closure $callback

Значение возврата

смешанный

защищённый массив getKeys(array $models, string $key = null)

Получить все первичные ключи для массива моделей.

Параметры

массив $models
строка $key

Значение возврата

массив

Билдэр getQuery()

Получить базовый запрос для отношения.

Значение возврата

Билдэр

Билдэр getBaseQuery()

Получить базовый билдер запроса, управляющий билдером Eloquent.

Значение возврата

Билдэр

Модель getParent()

Получить родительскую модель отношения.

Значение возврата

Модель

строка getQualifiedParentKeyName()

Получить полностью квалифицированное имя родительского ключа.

Значение возврата

строка

Модель getRelated()

Получить связанную модель отношения.

Значение возврата

Модель

строка createdAt()

Получить имя столбца «created at».

Значение возврата

строка

строка updatedAt()

Получить имя столбца «updated at».

Значение возврата

строка

строка relatedUpdatedAt()

Получить имя столбца «updated at» связанной модели.

Значение возврата

строка

строка wrap(string $value)

Оборачивает заданное значение с помощью синтаксиса родительского запроса.

Параметры

строка $value

Значение возврата

строка

статический массив morphMap(array $map = null, bool $merge = true)

Установить или получить карту морфизма для полиморфных отношений.

Параметры

массив $map
булево $merge

Значение возврата

массив

статический защищённый массив|null buildMorphMapFromModels(array $models = null)

Создаёт таблично-индексированный массив из имён классов моделей.

Параметры

массив $models

Значение возврата

массив|null

смешанный __call(string $method, array $parameters)

Обработка вызовов динамических методов для отношения.

Параметры

строка $method
массив $parameters

Значение возврата

смешанный

пустое значение __clone()

Вынудительное клонирование билдера подлежащего запроса при клонировании.

Значение возврата

пустое значение

Builder getRelationQueryForSelfRelation(Builder $query, Builder $parent, array|mixed $columns = ['*'])

Добавить ограничения для запроса отношения на той же таблице.

Параметры

Builder $query
Builder $parent
array|mixed $columns

Возвращаемое значение

Builder

string getRelationCountHash()

Получить хэш таблицы соединения отношения.

Возвращаемое значение

string

array matchOne(array $models, Collection $results, string $relation)

Сопоставить загруженные с жадностью результаты с их единственными родителями.

Параметры

array $models
Collection $results
string $relation

Возвращаемое значение

array

array matchMany(array $models, Collection $results, string $relation)

Сопоставить загруженные с жадностью результаты со своими множественными родителями.

Параметры

array $models
Collection $results
string $relation

Возвращаемое значение

array

protected array matchOneOrMany(array $models, Collection $results, string $relation, string $type)

Сопоставить загруженные с жадностью результаты со своими множественными родителями.

Параметры

array $models
Collection $results
string $relation
string $type

Возвращаемое значение

array

protected mixed getRelationValue(array $dictionary, string $key, string $type)

Получить значение отношения по типу один или многие.

Параметры

array $dictionary
string $key
string $type

Возвращаемое значение

mixed

protected array buildDictionary(Collection $results)

Создать словарь моделей, индексированный по внешнему ключу отношения.

Параметры

Collection $results

Возвращаемое значение

array

Model save(Model $model)

Прикрепить экземпляр модели к родительской модели.

Параметры

Model $model

Возвращаемое значение

Model

Traversable|array saveMany(Traversable|array $models)

Прикрепить коллекцию моделей к родительскому экземпляру.

Параметры

Traversable|array $models

Возвращаемое значение

Traversable|array

Collection|Model findOrNew(mixed $id, array $columns = ['*'])

Найти модель по её первичному ключу или вернуть новый экземпляр связанной модели.

Параметры

mixed $id
array $columns

Возвращаемое значение

Collection|Model

Model firstOrNew(array $attributes)

Получить первую запись связанной модели, соответствующую атрибутам, или создать её экземпляр.

Параметры

array $attributes

Возвращаемое значение

Model

Model firstOrCreate(array $attributes)

Получить первую запись, соответствующую атрибутам, или создать её.

Параметры

array $attributes

Возвращаемое значение

Model

Model updateOrCreate(array $attributes, array $values = [])

Создать или обновить связанную запись, соответствующую атрибутам, и заполнить её значениями.

Параметры

array $attributes
array $values

Возвращаемое значение

Model

Model create(array $attributes)

Создать новый экземпляр связанной модели.

Параметры

array $attributes

Возвращаемое значение

Model

array createMany(array $records)

Создать массив новых экземпляров связанной модели.

Параметры

array $records

Возвращаемое значение

array

int update(array $attributes)

Выполнить обновление всех связанных моделей.

Параметры

array $attributes

Возвращаемое значение

int

string getHasCompareKey()

Получить ключ для сравнения с родительским ключом в запросе "has".

Возвращаемое значение

string
END_OF_DOCUMENT_MARKER

string getForeignKey()

Получить внешние ключи для связи.

Значение возвращаемого значения

string

string getPlainForeignKey()

Получить простой внешний ключ.

Значение возвращаемого значения

string

mixed getParentKey()

Получить значение ключа родительского локального ключа.

Значение возвращаемого значения

mixed

$this withDefault(Closure|bool $callback = true)

Возвращает новый экземпляр модели в случае отсутствия связи.

Параметры

Closure|bool $callback

Значение возвращаемого значения

$this

protected Model|null getDefaultFor(Model $model)

Получить значение по умолчанию для этой связи.

Параметры

Model $model

Значение возвращаемого значения

Model|null

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API