在table.read期间是否可以访问其他表中的数据-Azure移动应用

时间:2019-06-16 01:30:10

标签: javascript azure azure-sql-database azure-mobile-services

我正在尝试从另一个数据库中获取数据,然后再读取表中的数据。但是,我似乎找不到正确访问它的方法。

到目前为止,我获得的最好成绩是基于Microsoft文档和StackOverflow上的其他一些示例,但是它们似乎都失败了。

table.read(function (context) {
    var results = context.tables("table2").read();

    var text = results[0].column;

    context.query.where({ columnName: text });

    return context.execute();
});

执行此操作时出现错误,说该列不存在。

1 个答案:

答案 0 :(得分:0)

根据您的描述,如果我没有误会,您想在EasyTables脚本的table1操作中查询table2。

我们可以利用'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ], ], 'class' => 'yii\log\Logger', ], 来定制中间件,以指定针对该表的每个请求执行的中间件,作为关于Azure移动文档的描述-apps sdk位于

E.G。

public function behaviors()
{

return [
'class' => TimestampBehavior::className(),
    'attributes' => [
       ActiveRecord::EVENT_BEFORE_INSERT => ['create_time', 'update_time'],
       ActiveRecord::EVENT_BEFORE_UPDATE => ['update_time'],
],];
}

更多示例:

"use()"

azure-mobile-apps-node sdk中的 var queries = require('azure-mobile-apps/src/query'); var insertMiddleware = function(req,res,next){ var table = req.azureMobile.tables('table2'), query = queries.create('table2') .where({ TestProperty : req.body.testproperty }); table.read(query).then(function(results) { if(results){ req.someStoreData = somehander(results); //some hander operations here to get what you want to store and will use in next step next(); }else{ res.send("no data"); } }); }; table.insert.use(insertMiddleware, table.operation); table.insert(function (context) { console.log(context.req.someStoreData); return context.execute(); }); 模块包含用于向Azure移动应用添加表的功能。它返回一个路由器,该路由器可以附加到快速应用程序中,并带有一些用于注册表的附加功能。哪些实际上利用了Azure SQL(Azure上的SQL Server数据库服务)。

希望有帮助。