TypeError: Cannot read property 'execute' of undefined in Loopback

TypeError: Cannot read property 'execute' of undefined in Loopback

我使用本机 sql 查询为 cm_comediens 创建了一个远程方法,但是当我尝试在资源管理器中执行它时,我得到 TypeError 500: Cannot read property 'execute' of undefined

这是我的 cm_comediens.js 文件中的方法

'use strict';
  var app = require('../../server/server.js');
  var mysql = require('mysql'); 
  module.exports = function(cm_comediens) {

    cm_comediens.profile = function (idComedien, cb) {
        var ds = app.dataSource;
        var sql = "SELECT * FROM cm_comediens WHERE id_comedien=?";

        ds.connector.execute(sql, idComedien, function (err, cm_comedienss) {

            if (err) console.error(err);

            cb(err, cm_comedienss);

        });

    };

    cm_comediens.remoteMethod(
        'profile',
        {
            http: { verb: 'get' },
            description: 'Get list of comediens by id',
            accepts: { arg: 'idComedien', type: 'number' },
            returns: { arg: 'data', type: ['cm_comediens'], root: true }
        }
    );
};
数据库中的

table 和环回中的模型具有相同的名称 cm_comediens 并且数据库中的 id 是:id_comedien 和模型中的 idComedien。 怎么了?

检查您的数据源实现

  ds.connector.execute(sql, idComedien, function (err, cm_comedienss) {

app.datasource.connector 是 null/undefined。