【发布时间】:2019-03-10 02:34:43
【问题描述】:
我正在通过模式中的选择过滤产品。我能够按地区过滤:南部、北部、中部和西部。但我需要按地区过滤,按产品类别过滤。所以这是我的查询
getProdutosregiao(id, categoria_id) {
return new Promise<Produto[]>((resolve, reject) => {
let sql = "SELECT TP.NOM_PATHIMAGEM, TP.NOM_PRODUTO, TS.NOM_SUBCATEGORIA,
TP.DESC_PRODUTO, TP.VAL_PRODUTO, TP.CATEGORIA_ID " +
"FROM TB_PRODUTO TP " +
"INNER JOIN TB_SUBCATEGORIA TS " +
"ON TS.ID = TP.SUBCATEGORIA_ID " +
"INNER JOIN TB_CATEGORIA TC " +
"ON TC.ID = TP.CATEGORIA_ID " +
"WHERE REGIAO_ID = " + id +
" AND TC.ID = " + categoria_id ;
// " AND SUBCATEGORIA_ID = ";
this.executeQuery(sql).then(data => {
let regions = [];
if (data!= undefined)
data.forEach(function (row) {
let region: Produto = { nom_pathimagem: row[0], nom_produto: row[1],
nom_subcategoria: row[2], desc_produto: row[3], val_produto: row[4],
desc_desconto: row[5], desc_experiencia: row[6], nom_endereco: row[7],
nom_complemento: row[8], nom_bairro: row[9], nom_cidade: row[10], cod_uf:
row[11], num_cep: row[12], desc_funcionamento: row[13],
nom_pathimagem_desc: row[14], regiao_id: row[15], categoria_id: row[16] }
regions.push(region);
});
resolve(regions);
}).catch(error => {
console.log(error);
});
});
过滤模式.TS
selecionaregiao(id, categoria_id) {
this.db.getProdutosregiao(id, categoria_id)
.then(data => this.produtos = data)
.catch(error => console.log('Something want wrong!'));
console.log('passou em tudo')
}`enter code here`
过滤模式-HTML
<ion-select class="selectclass" (ionChange)="selecionaregiao($event)"
[(ngModel)]="regiao" >
<ion-option *ngFor="let regiao of regioes" [value]="regiao.id"
class="optionclass">{{regiao.nom_regiao}}</ion-option>
</ion-select>
但我收到错误:“错误错误:没有这样的列:未定义。”如果我删除参数(cateogira_id),它可以正常工作并且仅按区域过滤。我传递了错误的参数吗?感谢您的帮助,早上好!
【问题讨论】:
标签: angular sqlite cordova ionic-framework