我有一个类别列表和一个地方列表,每个地方都有一个外键的类别。
categorie.json:http://pastebin.com/ttumKPf9
place.json:http://pastebin.com/J4bdEiUx
我尝试验证类别ID是否存在。为此,我重新定义了一个创建方法。在类I中搜索类别ID是否存在于类别中。如果我找到它,我调用upsert方法将数据插入到位。 但是这个upsert方法召回创建方法...... 如果我不调用upsert方法,则不插入数据。 如何在strongloop中验证和插入数据?
的script.js:
module.exports = function(app){
var Place = app.models.place;
var Categorie = app.models.categorie;
Place.create = function(data,callback){
console.log("avant find");
console.log(data.id);
Categorie.findById(data.categorieId, function(err, instance){
console.log("find")
if(err){
throw err;
}
if(instance == null){
new err;
throw err;
}
console.log("Upsert");
Place.upsert(data, callback);
});
};
};
答案 0 :(得分:1)
您应该重新定义远程方法,而不是ORM方法。
另一种方法,如果使用关系数据库,则创建外键约束。
这是SQL查询,其中place
和categorie
是表名:
ALTER TABLE place ADD CONSTRAINT Categorie_places_ix FOREIGN KEY (categorieId) REFERENCES categorie(id) ON DELETE SET NULL;