如何在环回模型中访问查询字符串参数?

时间:2016-03-07 10:47:04

标签: loopbackjs

对于模型定义product.js

,我的api端点如下所示

API /产品/ 9720 id_shop = 1&安培; id_lang = 1

我需要访问product.js中的id_shop,才能在从products表中获取记录之前应用where子句。

Product.observe('access', function (ctx, next) {
    next();
});

我如何访问id_shop和id_lang?

1 个答案:

答案 0 :(得分:4)

您可以使用远程方法创建自定义端点:

http://rpubs.com/jrowen/intro_rhandsontable

如果您真的想要改变Model.find()的默认行为,可以使用loopback.getCurrentContext(),然后为每个GET请求注入过滤器:

Product.on('dataSourceAttached', function(obj){
    var find = Product.find;
    Product.find = function(filter, cb) {           
        var id_shop = loopback.getCurrentContext().active.http.req.query.id_shop;           
        filter = {where:{id_shop: id_shop}};
        return find.apply(this, arguments);
    };
});

这将覆盖传入的任何过滤器,因此您需要使用其他逻辑来处理它。