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