Sequelize.js – 在“创build”或“build立”调用期间的模型关联
我有一个需要关联/外键的数据模型。 有没有办法在模型创build过程中强制执行这个约束,而不会陷入鸡/蛋的情况?
比方说,我有一个User
类,它需要至less有一个device
与它关联。 同样,该device
必须属于一个用户。 像这样的东西(未经testing的代码,不介意语法错误):
User = db.define("user", { name: Sequelize.STRING }) Device = db.define("device", { uuid: Sequelize.STRING }) User.hasMany(Device)
我想确保在首次调用create
时,我拥有所有Device
信息以及所有User
信息。 保持“胖模型,瘦控制器”我想把这个到我的模型。 有没有可能做这样的事情?
user = User.create( name: "jesse" device: uuid: "84e824cb-bfae-4d95-a76d-51103c556057" )
我可以重写create
方法吗? 还是有一些types的保存事件钩我可以使用?
目前的主人支持钩子。
var User = sequelize.define('User', { username: DataTypes.STRING }, { hooks: { beforeCreate: function(user, next) { makeYourCheck(function() { next("a string means that an error happened.") }) } } })
你可以检查公关进一步的信息: https : //github.com/sequelize/sequelize/pull/894