LoopBack访问另一个模型

时间:2016-04-07 14:14:27

标签: javascript node.js loopbackjs

情况就是这样:

我的数据库有3个模型:

宠物小精灵/宠物小精灵类型/类型

宠物小精灵通过PokemonType链接到一个或多个类型。

所以现在我想要一个函数来获取链接到给定Pokemon的类型:

module.exports = function(Pokemon) {


    Pokemon.types = function(id, cb){
        var PokemonType = Pokemon.app.models.pokemonType.find();
        var Type = Pokemon.app.models.type.find();
        var arrayTypes = [];

        // var result = app.models.pokemonType.find({where : {"pokemon_id": id}});
//      for(var x in result){
//          var typeId = x.pokemonType_id;
//          var results = Type.find({where: {"id": typeId}});
//          arrayTypes.push(results);
//      }
        cb(null, PokemonType[0] + " AND " + Type);
    }

    Pokemon.remoteMethod(
        'types', {
            accepts: {arg: 'id', type:'number', required:true, http: { source: 'header' }},
            returns: {arg: 'types', type:'object' },
            http: {path: '/types', verb: 'get', status: 200, errorStatus: 400}
        }   
    );
};

我正在尝试从PokemonType表的结果中找到类型。因此,如果当前PokemonID​​有1行,我希望属于此PokemonType行的类型不在Type表中。

然而,当尝试使用模型执行此操作时,我一直未定义和[object Object]。

我知道如果我使用Pokemon.find,它会使用该表来搜索Pokemon,但是如果我使用给定的PokemonID​​搜索PokemonType,它是否具有相同的实例?或者我认为完全错了?

我的意思是什么?我期待这个:

PokemonType.find({where :{ "pokemon_id": id}}); 

表现如下:

Pokemon.find({where: { "id": id}});

但是答案正确。

如何修复未定义的问题?然后我如何获得与口袋妖怪相关联的正确类型?

0 个答案:

没有答案