如何在Strongloop中验证外键?

时间:2015-03-16 13:55:55

标签: javascript json loopbackjs upsert

我有一个类别列表和一个地方列表,每个地方都有一个外键的类别。

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);
    });  
 };
};

1 个答案:

答案 0 :(得分:1)

您应该重新定义远程方法,而不是ORM方法。

另一种方法,如果使用关系数据库,则创建外键约束。

这是SQL查询,其中placecategorie是表名: ALTER TABLE place ADD CONSTRAINT Categorie_places_ix FOREIGN KEY (categorieId) REFERENCES categorie(id) ON DELETE SET NULL;