首页 > 解决方案 > Sequelize findAll, EJS 用于迭代以显示哪些子类别对应于 optgroup 中的类别和一些选择

问题描述

我想在几个 OPTGROUPS 和几个带有 for 迭代的 OPTIONS 中显示,每个 optgroup 中的一个类别以及与每个类别相关的子类别(关系是在 mysql 中创建的,子类别表中的 category_id 的 fk) ,后来我的项目中的模型与 sequelize

1

子类别模型id:{类型:dataTypes.INTEGER,primaryKey:true,autoIncrement:true},名词:{type:dataTypes.STRING(50)},fk_categoria:{type:dataTypes.INTEGER}

CATEGORIES MODEL 
 let cols = {
        id: {
            type: dataTypes.INTEGER,
            primaryKey: true,
            autoIncrement: true
        },
        nombre: {
            type: dataTypes.STRING(50)
        }
    };

CATEGORIES ASSOCIATION WITH SUB CATEGORIES

    Categoria.associate = function(models){
        Categoria.hasMany(models.SubCategoria,{
            as: 'sub_categoria',
            foreignKey: 'fk_categoria'
        })
        Categoria.hasMany(models.Producto,{
            as: 'producto',
            foreignKey: 'fk_categoria'
        })
    } 
SUB CATEGORIES ASSOCIATION WITH CATEGORIES
   SubCategoria.associate = function(models){
        SubCategoria.belongsTo(models.Categoria,{
            as: 'categoria',
            foreignKey: 'fk_categoria'
        })
        SubCategoria.hasMany(models.Producto,{
            as: 'productos',
            foreignKey: 'fk_sub_categoria'
        })
    } 

AND THE PROMISES I WAS USING TO ASK FOR THE DATA, WITHOUT RELATION
  let promiseCategoria = db.Categoria.findAll();
        let promiseSubCategoria =  db.SubCategoria.findAll();

THE DATA TABLE 
  [1]: https://i.stack.imgur.com/Mpzkw.png

Sorry for the huge post but I needed to show everything to make you understand

标签: javascripthtmlmysqlsequelize.jsejs

解决方案


推荐阅读