Có vẻ như bạn không xác định được mối liên hệ giữa thực phẩm và nguyên liệu. Tóm lại, bạn cần thêm một số thứ như thế này vào mô hình của mình:
Mô hình thực phẩm:
Food.belongsToMany(Ingredients, { through: Food_ingredients});
Mô hình thành phần:
Ingredients.belongsToMany(Food, { through: Food_ingredients});
Sau đó, khi bạn muốn truy vấn, bạn không bao gồm mô hình "thông qua" mà là mô hình khác trong mối quan hệ. Trong trường hợp của bạn:
Food.findAll({include: [
{
model: Ingredients
}]}).then(responseWithResult(res)).catch(handleError(res));
Sequelize sẽ thực hiện việc tham gia cho bạn. Lưu ý rằng nếu bạn đặt bí danh cho mối quan hệ của mình, chẳng hạn như:
Food.belongsToMany(Ingredients, {as 'someAlias', through: Food_ingredients});
Bạn cần thêm bí danh đó vào bao gồm:
Food.findAll({include: [
{
model: Ingredients, as 'someAlias'
}]}).then(responseWithResult(res)).catch(handleError(res));