2016-04-22 10 views
0

Ich habe zwei Tabellen: sites, users die durch Tabelle links durch benutzerdefinierte Felder wie JOIN links ON links.links.Sourceindex = sites.id AND links.Sourcetable = 'SITES' AND links.Contactindex = 'USER_ID' verbunden sind Ist es möglich, in Sequelize tun?Wie zwei Tabellen durch dritte in Sequelize.js zuordnen?

Antwort

0

Natürlich können Sie. Ohne zu wissen, welche Abfragen Sie ausführen möchten, funktionieren diese Modelldateien möglicherweise.

users.js

module.exports = (sequelize, DataTypes) => sequelize.define('users', { 
    id: { 
     type: DataTypes.INTEGER, 
     allowNull: false, 
     primaryKey: true, 
     autoIncrement: true 
    }, 
    username: { 
     type: DataTypes.STRING, 
     allowNull: false 
    }, 
    first_name: { 
     type: DataTypes.STRING, 
     allowNull: false 
    }, 
    last_name: { 
     type: DataTypes.STRING, 
     allowNull: false 
    } 
}, { 
    tableName: 'users', 
    freezeTableName: true, 
    classMethods: { 
     associate: models => { 
      models.users.belongsToMany(models.sites, { 
       through: 'links', 
       foreignKey: 'contact_index' 
      }); 
     } 
    } 
}); 

sites.js

module.exports = (sequelize, DataTypes) => sequelize.define('sites', { 
    id: { 
     type: DataTypes.INTEGER, 
     allowNull: true, 
     primaryKey: true, 
     autoIncrement: true 
    }, 
    url: { 
     type: DataTypes.STRING, 
     allowNull: true 
    } 
}, { 
    tableName: 'sites', 
    freezeTableName: true, 
    classMethods: { 
     associate: models => { 
      models.sites.belongsToMany(models.users, { 
       through: 'links', 
       foreignKey: 'source_index' 
      }); 
     } 
    } 
}); 
Verwandte Themen