Filtros em um campo de busca

607 views
Skip to first unread message

Taffarel

unread,
Apr 6, 2010, 3:47:13 PM4/6/10
to CakePHP Tuga
Ola pessoal! Tenho dificuldades em relação a um campo de busca que
estou tentando desenvolver.

Primeira duvida tenho o campo de busca que fica no index.ctp

<?php echo $form->create('Especialista',
array('action'=>'pesquisar')) ?>
<?php echo $form->input('busca', array('label'=>'Pesquisar:'));?>
<?php echo $form->input('', array('label'=> 'Filtro','type'=>'select',
'options'=> $data)); ?>
<?php echo $form->submit('Buscar', array('class' => 'ui-state-default
ui-corner-all'));?>
<?php echo $form->end()?>

até aqui tudo bem. Como podem ver tem um select que irá trazer esse
array pra mim

array('1'=>'Nome do Especialista', '2'=>'Especialidade',
'3'=>'Endereço');

isso será meu filtro ou quero que seja o filtro de busca.

até agora eu tenho isso na minha action 'pesquisar'

function pesquisar(){
if($data['1']){
$conditions = $this->postConditions($this->data ,
array('nomeEspecialista' => 'LIKE'));
$this->set('resultados', $this->Especialista->find('all',
array('conditions' => $conditions)));
}else if($data['2']){
$conditions = $this->postConditions($this->data ,
array('especialidade' => 'LIKE'));
$this->set('resultados', $this->Especialista->find('all',
array('conditions' => $conditions)));
}else if($data['3']){
$conditions = $this->postConditions($this->data ,
array('endereco' => 'LIKE'));
$this->set('resultados', $this->Especialista->find('all',
array('conditions' => $conditions)));
}
}

más quando eu faço a busca ele não retorna nada. Será que estou
fazendo algo errado? nas condições dos ifs esta tudo certo?

Espero que possam me ajudar, obrigado!

Felipe Theodoro

unread,
Apr 9, 2010, 9:11:15 AM4/9/10
to cakep...@googlegroups.com
vc ja debug o que conditions ta retornando?????




2010/4/6 Taffarel <taffa...@gmail.com>

--
Recebeu esta mensagem porque está inscrito no grupo "CakePHP Tuga" dos Grupos do Google.

Para publicar uma mensagem neste grupo, envie um e-mail para cakep...@googlegroups.com.
Para anular a inscrição neste grupo, envie um e-mail para cakephp-pt+...@googlegroups.com.
Para ver mais opções, visite este grupo em http://groups.google.com/group/cakephp-pt?hl=pt-PT.




--
Felipe Theodoro Gonçalves
ftgon...@gmail.com
blog.ftgoncalves.com
--

taffarelo3 tel

unread,
Apr 9, 2010, 1:18:52 PM4/9/10
to cakep...@googlegroups.com
então cara não cheguei a debugar ele, mas o jeito que eu queria fazer o metodo postCondition não iria permitir então eu acabei fazendo do metodo tradicional.

Carlitos Fioravante

unread,
Apr 9, 2010, 1:30:13 PM4/9/10
to cakep...@googlegroups.com
Cara, dei uma geral no seu código... e ficou assim http://bin.cakephp.org/view/897449906

Dá uma olhada aí... não testei mas deve funcionar!

Obs.: Fiz correndo sem fazer as validações (verificar se algum campo está vazio, enviar setFlash com mensagem de erro e talz), depois vc capricha aê!

Abraço,

taffarelo3 tel

unread,
Apr 9, 2010, 2:34:07 PM4/9/10
to cakep...@googlegroups.com
então eu fiz algo mais ou menos desse jeito, mas o jeito que vc fez fikou otimo!!!

Muito obrigado Carlitos pela ajuda, quando eu tiver tempo irei escrever algo para ajudar pessoas que tiverem o mesmo problema e irei citar seu nome xD!

--
Reply all
Reply to author
Forward
0 new messages