Нужны все данные, как показано ниже, какое отношение я использую.
Как я могу определить отношение? Спасибо.
Нужны все данные, как показано ниже, какое отношение я использую.
Как я могу определить отношение? Спасибо.
При объявлении отношения many-to-many
между двумя моделями одним из способов является создание другой таблицы (модели), в которой хранятся первичные ключи двух связанных моделей в виде одной записи. Этот подход добавляет дополнительную выборку из общей (through
) модели для определения связи между записями моделей. Но это, безусловно, предотвращает избыточность данных.
В loopback есть два способа реализации отношения many-to-many
. Если мы хотим, чтобы промежуточная модель была объявлена явно, то используется отношение hasMany
с моделью through
, которая представляет собой модель, которая будет хранить идентификаторы двух связанных моделей в виде одной записи. Если нам не нужна какая-либо явная промежуточная модель, мы используем отношение hasAndBelongsToMany
.
Чтобы определить отношение с использованием отношения hasManyThrough
, используйте следующий формат, аналогичный hasMany в определении обеих моделей, но с дополнительным объявлением модели through
.
в Model1.json: - "relations": {
"relation1": {
"type": "hasMany",
"model": "modelName2",
"through": "interveningModelName"
},
в Model2.json: - "relations": {
"relation2": {
"type": "hasMany",
"model": "modelName1",
"through": "interveningModelName"
},
Для использования отношения hasAndBelongsToMany
через REST API мы должны объявить промежуточную модель, иначе мы не сможем использовать это отношение «многие ко многим», используя конечные точки REST. Если промежуточная модель не объявлена, мы должны использовать стандартные методы persistedModel (например, create
, чтобы добавить экземпляр отношения между двумя моделями). Дополнительные пояснения по отношению hasAndBelongsToMany
: https://github.com/strongloop/loopback/issues/1960< /а>