Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Pesquisar múltiplas colunas Estou criando uma aplicação de teste Agenda de Contactos para Recepcionista, tenho 8 coluns que são bastante utilizadas em consultas; nome, sobrenome, telefone,endereço,célula,ministério,celular1 e celular2, gostaria de poder pesquisar estas colunas em um único campo de pesquisa, alguma dica em como criar isso no framework ? Att Marcos Ferreira ...
MR
Pesquisar múltiplas colunas  
Fechado
Estou criando uma aplicação de teste Agenda de Contactos para Recepcionista, tenho 8 coluns que são bastante utilizadas em consultas;
nome, sobrenome, telefone,endereço,célula,ministério,celular1 e celular2, gostaria de poder pesquisar estas colunas em um único campo de pesquisa, alguma dica em como criar isso no framework ?


Att
Marcos Ferreira

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (4)


FC

1º Esquece o celular 1 , 2 ,3 etc e faz uma composição
2º Tente usar o operador like em todos os filtros
PD

Marcos,

Você pode criar uma combo com o nome do campo, outra combo com o operador (ou usar sempre like como o Felipe sugeriu). E outro campo com o conteúdo a ser buscado.

O onSearch() ficará simples, pois no lugar de ter o nome do campo a ser buscado fixo, é só pegar da combo.

Abs,
Pablo
DM

Sei que o post é antigo, mas como cheguei até ele procurando, outros também podem chegar!

segue a resposta

$filter = new TCriteria;
$filter->add(new TFilter('CAMPO1', 'like', "%{$data->nome}%"), TExpression::OR_OPERATOR);
$filter->add(new TFilter('CAMPO2', 'like', "%{$data->nome}%"), TExpression::OR_OPERATOR);
DM

Sei que o post é antigo, mas como cheguei até ele procurando, outros também podem chegar!

segue a resposta

$filter = new TCriteria;
$filter->add(new TFilter('CAMPO1', 'like', "%{$data->nome}%"), TExpression::OR_OPERATOR);
$filter->add(new TFilter('CAMPO2', 'like', "%{$data->nome}%"), TExpression::OR_OPERATOR);