LoopBack访问其他模型

乔迪·西普肯斯(Jordi Sipkens)

情况是这样的:

我有3个模型的数据库:

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

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

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

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行,我希望Type表中属于该PokemonType行的类型。

但是,当尝试使用模型执行此操作时,我一直保持未定义状态和[object Object]。

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

我什么意思 我期望这样:

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

起到与以下相同的作用:

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

但答案正确。

如何解决未定义的问题?然后如何获得链接到口袋妖怪的正确类型?

乔迪·西普肯斯(Jordi Sipkens)

找到解决方案:

Pokemon.types = function(id, cb){
        var PokemonType;
        var curPokemon = {"pokemon":null, "type": null};
        var Type;
        var arrayTypes = new Array();
        var count;

        Pokemon.find({where: {"id": id}})
        .then(result => {
            if(result.length > 0){
                curPokemon.pokemon = result[0];
                Pokemon.app.models.pokemonType
                .find({where:{"pokemon_id": id}})
                .then(result => {
                    count = result.length
                    result.forEach(function(item, index){
                        Pokemon.app.models.type
                        .find({where:{"id": item.type_id}})
                        .then(result => {
                            if(result.length > 0){
                                arrayTypes.push(result[0]);
                                if(arrayTypes.length == count){
                                    curPokemon.type = arrayTypes;
                                    cb(null, curPokemon);
                                }
                            }
                        });
                    });
                });
            }
        });
    }

通过使用MainModel.app.models.ModelIWant,我可以获得正确的模型实例。然后使用.find并在promise(.then)中使用我的逻辑。

这使我可以获得正确的结果,然后使用这些结果获得正确的数据。然后,通过使用curPokemon创建自己的模型(对象),我可以修改结果,以便将所需的数据添加到MainModel中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

LoopBack访问其他模型

来自分类Dev

Laravel 5:其他模型的访问属性

来自分类Dev

Rails中其他模型的访问属性

来自分类Dev

如何访问模型孩子的其他父母

来自分类Dev

从其他模型访问用户名

来自分类Dev

在Sequelize模型挂钩功能中访问其他模型

来自分类Dev

通过 django 查询集通过其他模型访问模型

来自分类Dev

尝试访问其他模型的属性时出现NoMethodError

来自分类Dev

是否可以从ValidationAttribute中的其他模型访问属性

来自分类Dev

从Rails中的其他模型访问实例方法?

来自分类Dev

如何在Laravel中访问其他相关模型数据?

来自分类Dev

搜索其他模型

来自分类Dev

访问其他分区

来自分类Dev

Django从其他模型过滤

来自分类Dev

引用其他模型的字段

来自分类Dev

如何从其他模型退货?

来自分类Dev

Django从其他模型过滤

来自分类Dev

从其他模型更新属性

来自分类Dev

在Bash中访问JSON对象-关联数组/列表/其他模型

来自分类Dev

如何获得Rails关联以使用特定名称访问其他名称的模型?

来自分类Dev

Spark CrossValidatorModel是否可以访问除bestModel以外的其他模型?

来自分类Dev

我无法在javascript oop模型中访问其他方法

来自分类Dev

这是允许其他视图模式访问视图模型属性的正确方法吗?

来自分类Dev

灰烬复选框-从其他控制器访问模型属性

来自分类Dev

如何在视图中使用关系字段访问其他模型中的字段(odoo)

来自分类Dev

我无法在javascript oop模型中访问其他方法

来自分类Dev

在序列化程序中创建访问其他模型属性的新字段

来自分类Dev

从Django中的计算字段访问其他应用程序中的模型

来自分类Dev

如何访问用户模型本身内的实例化用户(不创建其他关系)?

Related 相关文章

  1. 1

    LoopBack访问其他模型

  2. 2

    Laravel 5:其他模型的访问属性

  3. 3

    Rails中其他模型的访问属性

  4. 4

    如何访问模型孩子的其他父母

  5. 5

    从其他模型访问用户名

  6. 6

    在Sequelize模型挂钩功能中访问其他模型

  7. 7

    通过 django 查询集通过其他模型访问模型

  8. 8

    尝试访问其他模型的属性时出现NoMethodError

  9. 9

    是否可以从ValidationAttribute中的其他模型访问属性

  10. 10

    从Rails中的其他模型访问实例方法?

  11. 11

    如何在Laravel中访问其他相关模型数据?

  12. 12

    搜索其他模型

  13. 13

    访问其他分区

  14. 14

    Django从其他模型过滤

  15. 15

    引用其他模型的字段

  16. 16

    如何从其他模型退货?

  17. 17

    Django从其他模型过滤

  18. 18

    从其他模型更新属性

  19. 19

    在Bash中访问JSON对象-关联数组/列表/其他模型

  20. 20

    如何获得Rails关联以使用特定名称访问其他名称的模型?

  21. 21

    Spark CrossValidatorModel是否可以访问除bestModel以外的其他模型?

  22. 22

    我无法在javascript oop模型中访问其他方法

  23. 23

    这是允许其他视图模式访问视图模型属性的正确方法吗?

  24. 24

    灰烬复选框-从其他控制器访问模型属性

  25. 25

    如何在视图中使用关系字段访问其他模型中的字段(odoo)

  26. 26

    我无法在javascript oop模型中访问其他方法

  27. 27

    在序列化程序中创建访问其他模型属性的新字段

  28. 28

    从Django中的计算字段访问其他应用程序中的模型

  29. 29

    如何访问用户模型本身内的实例化用户(不创建其他关系)?

热门标签

归档