0
I’m using Ionic + Ordova + Websql. I have basically these tables, partners and partiesEnderecos. In the address table can contain more than one row for each partner. How do I return these values?
I create the tables like this:
databaseValues.setup();
  databaseValues.bancoDeDados.transaction(function(transacao) {
  transacao.executeSql('CREATE TABLE IF NOT EXISTS parceiroEnderecos (' +
    'parceiro_id INTEGER,' +
    'logradouro VARCHAR(200),' +
    'numero VARCHAR(10),' +
    'UNIQUE(parceiro_id, logradouro) ON CONFLICT IGNORE);', []
  );
  transacao.executeSql('CREATE TABLE IF NOT EXISTS parceiros (' +
    'id INTEGER NOT NULL PRIMARY KEY,' +
    'nome_fantasia VARCHAR(300),' +
    'UNIQUE(id, nome_fantasia) ON CONFLICT IGNORE);', []
  );
});
In the ParceirosController I’m trying to do so: 
databaseValues.setup();
databaseValues.bancoDeDados.transaction(function(transacao) {
  transacao.executeSql('select * from parceiros', [], function(transacao, parceiros) {
    for (parceiro of parceiros.rows) {
      _enderecos = getParceiroEnderecos(parceiro.id);
      _parceiro = {
        id: parceiro.id,
        nome_fantasia: parceiro.nome_fantasia,
        avatar: parceiro.avatar,
        beneficio_qtd: parceiro.beneficio_qtd,
        beneficio_maior: parceiro.beneficio_maior,
        enderecos: _enderecos
      }
      $scope.parceiros.push(_parceiro);
    }
  });
});
getParceiroEnderecos = function(parceiro_id) {
  _enderecos = [];
  databaseValues.setup();
  databaseValues.bancoDeDados.transaction(function(transacao) {
    transacao.executeSql('select * from parceiroEnderecos where parceiro_id = ?;', [parceiro_id], function(transacao, enderecos) {
      _enderecos = [];
      for (endereco of enderecos.rows) {
        _endereco = {
          logradouro: endereco.logradouro,
          numero: endereco.numero
        }
        _enderecos.push(_endereco);
      }
    });
    return _enderecos;
  })
}
Only that as the transacao should be asynchronous, I can’t add the address inside the partner, something like that:
parceiros = [
  {
    id: 1,
    nome_fantasia: 'empresa 1',
    enderecos: [
      {
        logradouro: 'Rua 1',
        numero: '123'
      },
      {
        logradouro: 'Rua 2',
        numero: '987'
      }
    ]
  }
]
						
Was any of the answer helpful? Don’t forget to choose one and mark it so it can be used if someone has a similar question!
– Sorack