Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Criteria no TDBMultiSearch - Nao funciona Ola pessoal, estou com problema no filtro do TDBMultiSearch, recebe o parametro nao nao filtra, traz todos os dados como se o parametro estivesse vazio. Vejam o codigo abaixo pra ver se alguem pode me ajudar: ...
EB
Criteria no TDBMultiSearch - Nao funciona  
Ola pessoal, estou com problema no filtro do TDBMultiSearch, recebe o parametro nao nao filtra, traz todos os dados como se o parametro estivesse vazio.

Vejam o codigo abaixo pra ver se alguem pode me ajudar:

  1. <?php
  2.        $prende 0;
  3.        $prende TSession::getValue('empre');
  4.      
  5.       $criteria = new TCriteria;
  6.       $criteria->add(new TFilter('empreendimento_id''='$prende));        
  7.       $codigo = new TDBMultiSearch('codigo','casa','Campos','numero','numero',null,$criteria);
  8. ?>


Obrigado a todos.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (6)


JS

Edimar,

na linha 7 já experimentou retirar o parametro "null" ?

$codigo = new TDBMultiSearch('codigo','casa','Campos','numero','numero',$criteria);
EB

Dessa forma da erro irmao, porque fica faltando o parametro de ordenacao: parametro chamado <php $ordercolumn ?>.
Que esse null.
</php>
EB

Ele apresenta esse erro sem "null" ou sem ""(aspas simples vazia no lugar do null):
"Object of class AdiantiDatabaseTCriteria could not be converted to string"
AA

Estranho, Edimar. A primeira vista seu código está correto tanto que está carregando os dados. Agora se você relatou que estão carregando todos os dados é porque há problema com o campo do critério. Concordo comigo que se o parâmetro empreendimento_id receber qualquer valor (até vazio) ele deve filtrar e o resultado esperado, no caso de vazio, seria nenhum registro? Você já verificou como estão os registros em sua tabela, no banco de dados, se há o campo empreendimento_id e se estão preenchidos mesmo? Você já verificou se a sua classe TRecord está mapeando esse campo empreendimento_id?
parent::addAttribute('empreendimento_id');


Outra coisa, dê um
  1. <?php $criteria->dump(); ?>
logo depois do código do $criteria para verificar como está vindo o critério.
EB

Ola Alison.
A variavel ta chegando
  1. <?php $criteria->dump(); ?>

Ela tbm ta mapeada, se nao tivesse daria um erro no parametro do $criteria.

IF

Edimar, acho que o valor da sua session TSession::getValue('empre') não está chegando. Fiz um teste baseado no seu exemplo colocando a variável $prende = 0 que vc definiu e realmente ele traz todos os registros! Dê um
  1. <?php var_dump(TSession::getValue('empre')); ?>

pra ver oq acontece.