我正在尝试从另一个数据库中获取数据,然后再读取表中的数据。但是,我似乎找不到正确访问它的方法。
到目前为止,我获得的最好成绩是基于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();
});
执行此操作时出现错误,说该列不存在。
答案 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数据库服务)。
希望有帮助。