我已经花费数小时时间在这个问题上,但完全迷失了方向,因为loopback的文档没有提供有用的帮助。
我正在尝试将应用逻辑写入一个模型。相关文档位于这里。不幸的是,示例没有展示任何有用的东西,只是将外部值传递到远程方法中并再次返回它。我想了解如何在这种情况下运行查询并访问模型数据,但我已经搜索了数小时,甚至没有找到这些简单任务的文档。也许我只是在错误的地方寻找。有人能帮忙吗?
我已经花费数小时时间在这个问题上,但完全迷失了方向,因为loopback的文档没有提供有用的帮助。
我正在尝试将应用逻辑写入一个模型。相关文档位于这里。不幸的是,示例没有展示任何有用的东西,只是将外部值传递到远程方法中并再次返回它。我想了解如何在这种情况下运行查询并访问模型数据,但我已经搜索了数小时,甚至没有找到这些简单任务的文档。也许我只是在错误的地方寻找。有人能帮忙吗?
这段代码位于common/models/coffeeshop.js文件中:
module.exports = function(CoffeeShop) {
...
// Return Coffee Shop name given an ID.
CoffeeShop.getName = function(shopId, cb) {
CoffeeShop.findById( shopId, function (err, instance) {
response = "Name of coffee shop is " + instance.name;
cb(null, response);
console.log(response);
});
}
...
CoffeeShop.remoteMethod (
'getName',
{
http: {path: '/getname', verb: 'get'},
accepts: {arg: 'id', type: 'number', http: { source: 'query' } },
returns: {arg: 'name', type: 'string'}
}
);
};
我终于发现了我的问题。对象属性必须在调用CRUD操作的函数的回调中加载。以下语法对我有效:
module.exports = function (TestModel) {
TestModel.testRemoteMethod = function (id, name, cb) {
TestModel.findOne({where: {id: id}}, function(err, modelInstance) {
//modelInstance has properties here and can be returned to
//the API call using the callback, for example:
cb(null, {"name": modelInstance.name});
}
}
TestModel.remoteMethod('testRemoteMethod',
//..rest of config
console.log
一个“Person”模型的“Name”属性,我该怎么做?我在文档中找不到任何解释这个的内容。 - Michael.LumleyPersistedModel
带有内置方法...如果您想创建一个具有REST数据源的模型,则需要创建自定义远程方法来处理请求。 - br3w5