I'm filtering products through a select in a modal. I was able to filter by regions: south, north, center and west. But I need to filter by region, filter by product category. So this is my query
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);
});
});
}
Filter-Modal.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')
}
Filter-Modal-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>
But I get the error: "ERROR Error: no such column: undefined." And if I remove the parameter (cateogira_id), it works normally and filtering by region only. Am I passing the wrong parameter? Thanks for any help, Good morning!