既存のアプリケーションを WebSql から JayData に書き直しています。このアプリは WebSql に基づいて構築されており、廃止されたため、置き換える必要があります (少なくとも遅かれ早かれ)。すべての WebSql を独自のアダプターに再構成し、現在、JayData を使用して並列アダプターを作成しようとしています。
私が知りたいのは、 sql を適切に処理する方法join
です。これが例です
read: function (display) {
var sql = "",
args = [];
sql += "SELECT table1.table1Id, table1.name, table1Local.UpdateTime ";
sql += "FROM table1";
sql += "LEFT OUTER JOIN table1Local ON table1.table1Id = table1Local.table1Id ";
sql += "WHERE table1Local.Display = ? ";
args[0] = (display === true ? "1" : "0");
return database.read(sql, args);
},
コンテキスト内に 2 つの jayData エンティティ " table1
" と " table1Local
" があります。これは私の大まかな試みですが、データを結合しません。
read: function (display) {
display = display === true ? "1" : "0";
var dfd = $.Deferred();
var context = new Table1Context({
name: config.database.type,
databaseName: config.database.name
});
context.onReady(function(){
return context.Table1
.filter(function( t){
// We need to use the Display property in the local "table"
return t.display == this.display;
}, {display: display})
.toArray()
.then(function (ts) {
var data= [];
ts.forEach( function(t) {
data.push(t);
});
dfd.resolve(data);
return views;
});
});
return dfd.promise();
}
これを適切に機能させる方法について少し迷っています。