LL
FILTROS EM OUTRAS TABELAS - Exemplo pequeno
Olá a todos, gostaria de saber como faço para DEFINIR FILTROS (usando a classe TFilter) para retornar Registros que estão em outras tabelas. Exemplo: Tenho a tabela CANDIDATO que está ligada a tabela CIDADE que por sua vez está ligada a tabela ESTADO, gostaria de fazer um reporitory (TRepository) para acessar a tabela CANDIDATO e retornar TODOS os CANDIDATOS do CEARÁ, por exemplo. A representação do banco está na imagem Candidato - Estado.JPG. Dês de Já agradeço!
Para retornar as CIDADES de acordo com um filtro consegui usando o seguindo código:
Mas o problema em retornar todos os CANDIDATOS de um estado continua, tentei usar esse código:
pensei que iria funcionar, mas não funcionou
A ligação do filtro com a tabela de candidatos precisa ser feita fora do subselect. Ex:
Mas se você tiver vários casos de filtros dessa maneira, talvez seja melhor criar uma view fazendo todos esses cruzamentos e utilizá-la como repositório.
Nataniel Rabaioli, fico muito grato por ter tirado um tempinho para me ajudar, mas não entendi o filtro, poderia me explicar o que esse filtro que vc criou esta filtrando? Não estou conseguindo entender por favor me ajude!
Lucas, em caso de dúvidas referentes ao sql gerado você pode usar o comando abaixo. Ele exibe em tela todos os sqls da sua transação:
O filtro que te passei gera o seguinte sql:
SELECT * from candidato where cidade_id in (SELECT ci.id from estado es join cidade ci on es.id = ci.estado_id AND es.nome_estado = 'RS')