tenho a seguinte consulta:
let resultado = await wixData.queryReferenced("BancoGeral", idCurrentItem, "Evento");
O resultado está sendo devolvido corretamente porém existe um campo do tipo referência na minha tabela "evento" sendo assim quando os dados são impressos o campo usuário vem o ID do mesmo e não o nome. Como posso adaptar essa consulta para que me traga os dados do usuário como nome.
Sei que existe a função include porém ela não pode ser usada com a queryReferenced.
Olá, Matheus na verdade eu tenho essas duas tabelas um geral e uma chamada eventos na minha tabela geral eu tenho um campo que referência minha tabela eventos, a consulta na qual eu deixei está funcionando explicando melhor o que eu quis trazer aqui e o seguinte:
Quando a consulta é feita na minha tabela eventos tem uma coluna que referência um usuário e no resultado da minha consulta trás somente o ID do usuário, e eu gostaria de agregar os dados completos dele também. Pois quando vou mostrar esses dados na tela viria o nome dele e não o ID entendeu ?
Olá, Carlos!
Você tem uma tabela Evento que é referenciada no campo usuário da sua tabela BancoGeral? É isso mesmo?
Se sim, credito que talvez a sintaxe do seu código esteja errada. A seguir explico um pouco como deve ser feito a função.
Por exemplo, suponha que você tenha uma coleção Filmes com um campo Atores que contém referências a itens em uma coleção Pessoas. Consultar a coleção Filmes usando queryReferenced() retorna os itens Pessoas relevantes referenciados no campo Atores do item especificado da coleção de Filmes. Ou seja, ele retorna as informações completas do ator para todos os Atores do filme especificado.
Sendo assim a sintaxe dessa consulta seria:
wixData.queryReferenced("movies","00001","actors")
Observe que deve ser em ordem: A coleção, o item da coleção e o campo de referência da coleção. Ou seja, você não deve colocar a tabela referenciada na função e sim o campo que está referenciado ela.
Outra coisa, se as permissões do banco de dados são limitadas, você deve fazer essa consulta via backend com o SupressAuth como true. Exemplo a seguir:
let options = { "suppressAuth": true }; wixData.queryReferenced("movies", "00001", "actors", options) .then( (results) => { if(results.items.length > 0) { let firstItem = results.items[0]; //see item below } else { // handle case where no matching items found } } ) .catch( (err) => { let errorMsg = err; } );
Espero ter ajudado ;)