1
私はイオンフレームワークにはかなり新しいです。私はSQLiteでアプリケーションを開発しています。アプリはブラウザ上で正常に動作します。私は、デバイス上で実行した場合しかし、それはSQLIteの 'SUM(total)'はアンドロイドデバイスではなくブラウザ上で動作します。
Cannot read property 'SUM(total)' of undefined
はここに私のコードスニペットだと言う:私は何をやっていることは、データベースにSUM値を保存するのではなく、ある
$scope.items = [];
$scope.grandTotal = 0;
$scope.receiptnumber = 0;
$scope.receiptnumber = $scope.receiptnumber + 1;
$scope.items = [];
$scope.item = {};
$scope.grandTotal = null;
$ionicPlatform.ready(function() {
//EXPERIMENT CODE STARTS
var query2 = "SELECT * FROM items WHERE quantity!='' ";
console.log(query2);
$cordovaSQLite.execute(db, query2, []).then(function (res) {
if (res.rows.length > 0) {
for (var i = 0; i < res.rows.length; i++) {
$scope.items.push({
itemname: res.rows.item(i).itemname,
price: res.rows.item(i).price,
quantity: res.rows.item(i).quantity,
});
// $scope.items = $scope.items;
// console.log($scope.items);
$scope.items = $scope.items;
}
} else {
console.log("No results found");
}
}, function (err) {
console.error("error=>" + err);
});
//EXP CODE ENDS
$ionicHistory.clearCache();
$ionicHistory.clearHistory();
//GRAND TOTAL CALCULATION STARTS
var query = "SELECT SUM(total) FROM items";
console.log(query);
$cordovaSQLite.execute(db, query, []).then(function (res) {
// $scope.grandTotal = res.rows[0]['SUM(total)'];
console.log("SUM TOTAL TEST");
console.log(res.rows);
}, function (err) {
console.error("error=>" + err);
});
//GRAND TOTAL CALCULATION ENDS
//Back button STARTS
$scope.myGoBack = function() {
$state.go("menu.sales");
// window.history.back();
};
//BackButton ends
//Charge button functionality STARTS===============================/////////////////////////
$scope.charge = function() {
$state.go('transactionsuccess');
// INITIAL UPDATE OF ORDER NUMBER STARTS
// var query5 = "UPDATE receipt SET ordernumber=" + "'" + $scope.receiptnumber + "'" + " WHERE quantity!='' OR quantity!='undefined' ";
// console.log(query5);
// $cordovaSQLite.execute(db, query5, []).then(function (result) {
// $scope.items = [];
// $scope.grandTotal = 0;
// }, function (err) {
// console.error(err);
// });
//ENDS
}
});
私が直接プログラムからそれをフェッチしています。私は、SUM(合計)をフェッチし、それがブラウザとデバイスの両方で動作するように変数に保存する任意の代替を知らないので
$scope.grandTotal = res.rows[0]['SUM(total)'];
...:どちらがコードのこの部分で行われていますありがとう。
エイリアスを使用しようとしましたか? – Selvin