Как я могу показать только атрибуты моей соединительной таблицы и исключить атрибуты модели отношений? - PullRequest
0 голосов
/ 04 мая 2020

Я работаю в Api отдыха с nodesjs, Sequelize и sqlite. У меня есть две модели, многие ко многим, и таблица соединений с дополнительным атрибутом:

таблица соединений:

const HamburgerIngredient = sequelize.define('HamburgerIngredient', {
        path: {
            type: DataType.STRING
        }
    }); 

Когда я делаю запрос на получение от гамбургера (модель 1), я добавляю атрибуты как это:

Hamburgers.findAll({
                attributes: ["id", "name", "price", "description", "image"],
                include: {
                    model: Ingredients,
                    through: {
                      attributes: ["path"]
                    }
                }
            })

Это показывает мне все атрибуты из Ingredient (модель 1) и путь, который я хочу от HamburgerIngredients (таблица соков), но я хочу показать в гамбургере один атрибут ингредиентов вызова атрибута: [path1, path2, ...], я хочу, чтобы все пути ассоциировались для каждого гамбургера в списке из модели гамбургера, но sqlite не имеет атрибута Array для моделей.

Сейчас у меня есть это:

{
  "id": 4,
  "name": "burger4",
  "price": 1000,
  "Ingredients": [
    {
      "id": 6,
      "name": "cheese",
      "hamburgerIngredients": {
        "path": path_6
      }
    }
  ]
}

Я хочу:

{
  "id": 4,
  "name": "burger4",
  "price": 1000,
  "Ingredients": [ path_2, path_4...]

}

Помогите добавить этот массив как атрибут или какую-то другую альтернативу

...