2012-12-26 2 views
1

현재 백본을 사용하여 재고 관리를위한 간단한 응용 프로그램을 작성 중입니다. 모델 및 수량을 포함하는 데이터베이스가 테이블에 있습니다.백본/밑줄의 다른 필드를 기반으로 하나의 db 필드를 합산하는 기능

[ {
"ID"=

VAR의 INVT : 1
"모델": "캐논 SX230"
「수량」이 오브젝트의 strigify 버전 10
"가격": "150.50"
},
{
"ID": 2,
"모델": "캐논 반란군 T3i",
"수량": 25,,627,552,314,960,453,210 "가격": "450.50",
},
{
"ID": 3,
"모델": "캐논 반란군 T2",
"수량": 10,
"가격" "250.00"
},
{
"ID": 4,
"모델": "캐논 반란군 t21의"
"수량"15
"가격": "275.00"
},
{
"ID": 5,
"모델": "캐논 SX230",
"수량": 5,
"가격": "125.00"
}]

어떻게 할 수 필터를 통해 모델을 기반으로 수량을 합산합니다. 비슷한 모델을 가진 새로운 객체를 생성하면 수량이 합산됩니다.

는 본질적으로 결과는 다음과 같습니다
[{
"ID": 1,
"모델": "캐논 SX230",
"수량"15
"가격": "275.00"
},
{
"ID": 2,
"모델": "캐논 반란군 T3i",
"수량"25
"가격": "450.50"
}]
등 ... 나는 다음과 같은 루프를 사용하려고했습니다

:

VAR 합계 = {};

for (var i = 0; i < invt.length; i++) { 
     var record = invt[i]; 

     sum.model = record.model + (sum.model); 
    }; 
+0

정확하게 문제가 무엇인지 명확히하십시오. 데이터베이스 문제 이건 클라이언트 측 문제입니까? 데이터베이스와 관련된 질문이라면 다시 질문하십시오. – sorencito

+0

나는 그것을 클라이언트 쪽에서 처리하려고 노력하고있다. –

답변

0

JS 관련 태그 만 사용 했으므로 클라이언트 측에서이 작업을 수행하려고합니다.

당신은 이런 식으로 작업을 수행 할 수 있습니다

var records = [ 
    { 
     id: 1, 
     model: "A", 
     quantity: 6 
    }, { 
     id: 1, 
     model: "A", 
     quantity: 4 
    }, { 
     id: 1, 
     model: "B", 
     quantity: 3 
    }, { 
     id: 1, 
     model: "B", 
     quantity: 2 
    } 
]; 

var sum = {}; 
for(var i = 0; i < records.length; i++) { 
    var record = records[i]; 
    sum[record.model] = record.quantity + (sum[record.model] || 0); 
} 
document.body.innerHTML = JSON.stringify(sum);​ 

데모 : http://jsfiddle.net/Dhsm5/

그것은 당신이 원하는 형식으로이 개체를 변환 할 사소한 것입니다.

+0

좋은 답변 - 질문은 어쨌든 데이터베이스와 관련이 있다고 생각합니다. 나는 SQL 태그가 단순히 누락되었다고 생각한다. 그렇다면 왜 데이터베이스 테이블에 대한 질문이 나올까요? – sorencito

0
Select sum(quantity) 
From yourtable 
Group by model; 

이 그것을해야한다.

+0

백본에서 어떻게 할 수 있습니까? 백본에서 mysql 쿼리를 사용할 수 있습니까? –

+0

일반 테이블에만 액세스 할 수있는 경우보기를 정의하십시오. – sorencito

관련 문제