无法在sails.js中调用服务中的模型

时间:2016-11-18 01:20:56

标签: sails.js

您是否能够在Sails服务中调用模型,因为我现在似乎无法让它工作。

控制器:

index: function (req, res) {
var results = StudentService.findAllStudents();
return res.view('student/index', {
  students: results
}); },

服务:

findAllStudents: function (options, done) {
    Student.find({}).exec(function (err, results) {
      if (err != null && err.message != null) {
        sails.log.error(err.message);
      } else {
        return results;
      }
    });
  }

在调试期间,我注意到似乎甚至没有调用find方法。 sails.js的服务层是否无法访问连接?将模型代码移回控制器层时,模型代码工作正常。我做错了什么?

1 个答案:

答案 0 :(得分:3)

更改您的服务代码以接受回电。

findAllStudents: function (options, callback) {
    Student.find({}).exec(function (err, results) {
      return callback(err, results);
    });
  }

更改控制器代码以传递回调函数以处理结果或处理错误。

index: function (req, res) {
    var opts = {};
    var results = StudentService.findAllStudents(opts, function(err, results){
        return res.view('student/index', {
            students: results
        }); 
    });
},