Skip to content

Instantly share code, notes, and snippets.

@celsogg
Last active August 29, 2015 14:13
Show Gist options
  • Save celsogg/ba075ab83b5da6c36403 to your computer and use it in GitHub Desktop.
Save celsogg/ba075ab83b5da6c36403 to your computer and use it in GitHub Desktop.
Sequelizejs sequelize many to many getter from existing database
var Sequelize = require(__dirname + "/../../index")
//, config = require(__dirname + "/../../spec/config/config")
, sequelize = new Sequelize('test', 'root', '', {logging: false})
, Project = sequelize.define(
'Project',
{ name: Sequelize.STRING },
{ tableName: 'project', underscored: true, timestamps: false }
)
, User = sequelize.define(
'User',
{ name: Sequelize.STRING },
{ tableName: 'user', underscored: true, timestamps: false }
)
, UserProject = sequelize.define(
'UserProject',
{ project_id: {
type: Sequelize.INTEGER(11),
allowNull: true,
references: 'project',
referencesKey: 'id'
},
user_id: {
type: Sequelize.INTEGER(11),
allowNull: true,
references: 'user',
referencesKey: 'id'
},
},
{ tableName: 'user_project'}
);
User.belongsToMany(Project, { through: UserProject, foreignKey: 'project_id'})
Project.belongsToMany(User, { through: UserProject, foreignKey: 'user_id'})
User.findOne( {where: {name: 'someName'}} )
.then(function (user) {
console.log(user.name);
user.getProjects()
.then(function (argument) {
console.log("get----------"+argument);
})
.catch( function (err) {
console.log('error2 '+err)
})
.finally( function () {
console.log('fin2');
})
})
.catch( function (err) {
console.log('error '+err);
})
.finally( function () {
console.log("finally");
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment