HasMany
класс HasMany расширяет HasOneOrMany (View source)
Свойства
| 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 |
Методы
| 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 |
Подробности
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода к указанному объекту.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение плохого вызова метода для данного метода.
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)
Сопоставить загруженные с жадной загрузкой результаты с их родителями.
mixed getResults()
Получить результаты отношения.
Collection getEager()
Получить отношение для ленивой загрузки.
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, string $key)
Получить имя метода "where in" для леничной загрузки.
static array morphMap(array $map = null, bool $merge = true)
Установить или получить карту morph для полиморфных отношений.
static protected array|null buildMorphMapFromModels(array $models = null)
Создает таблично-индексированный массив из имен классов моделей.
static строка|null getMorphedModel(строка $alias)
Получить модель, связанную с пользовательским полиморфным типом.
пустое __clone()
Принудительно клонировать базовый строитель запросов при клонировании.
Модель make(массив $attributes = [])
Создать и вернуть несохранённую экземпляр связанной модели.
массив matchOne(массив $models, Коллекция $results, строка $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|Модель 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)
Установить внешний идентификатор для создания связанной модели.
Builder getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, array|mixed $columns = ['*'])
Добавить ограничения для запроса отношения на той же таблице.
string getRelationCountHash()
Получить хэш таблицы объединения отношения.
string getExistenceCompareKey()
Получить ключ для сравнения с ключом родительской записи в запросе "has".
mixed getParentKey()
Получить значение ключа родительской записи.
string getForeignKeyName()
Получить внешний ключ.
string getQualifiedForeignKeyName()
Получить внешний ключ для связи.
string getLocalKeyName()
Получить локальный ключ для связи.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/6.x/Illuminate/Database/Eloquent/Relations/HasMany.html