Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Criteria usando Datas olá pessoa estou fazendo um relatorio usando 3 dados porem quando executo não retorna nada ...
AS
Criteria usando Datas  
Fechado
olá pessoa estou fazendo um relatorio usando 3 dados

porem quando executo não retorna nada

  1. <?php
  2. public function relatorio($param){
  3.       try{
  4.             TTransaction::open("mysql");// abre a transação
  5. $repo =  new TRepository("Conhecimento");
  6. $criteria = new TCriteria();
  7. $criteria->add(new TFilter("dataEmissao",">",$param['inicio']),  TExpression::AND_OPERATOR);
  8. $criteria->add(new TFilter("dataEmissao","<",$param['final']),  TExpression::AND_OPERATOR);
  9. $criteria->add(new TFilter("cliente_id","=",$param['cliente_id']),  TExpression::AND_OPERATOR);
  10.                
  11. $criteria->dump();
  12. exit();
  13. $relatorio =  $repo->load($criteria);
  14. ?>

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)


PD

Oi Alexandre,

A forma de obter os filtros é por meio do TForm::getData(), conforme esse exemplo:
www.adianti.com.br/doc-framework-Presentation-Report-TabularReport

Você está pegando da URL ($param). Tente fazer do jeito sugerido, blz?

abs,
Pablo
PD

Além disso, me diga o que está saindo no dump(). E não esqueça de remover o exit() ;-)
AS

então descobri como fazer o between,
usando o proprio TFilter

cara quando mais eu uso mais me apaixono por esse FW

Vlw pablo

  1. <?php
  2. $repo =  new TRepository("Conhecimento");
  3. $criteria = new TCriteria();
  4. $criteria->add(new TFilter("dataEmissao","between",$param['inicio']),  TExpression::AND_OPERATOR);
  5. $criteria->add(new TFilter("","",$param['final']),  TExpression::AND_OPERATOR);
  6. $criteria->add(new TFilter("cliente_id","=",$param['cliente_id']),  TExpression::AND_OPERATOR);
  7.                
  8. ?>
PD

Grande Alexandre,

Os operadores > e < também devem funcionar. Não seria o caso de alterá-lo s para >= e <=, que é a forma como o between se comporta?

abs,
Pablo
AS

irei testar e logo mais posto o resultado
GE

Daew.
Esse between funcionou bem pra mim.

Não consegui com os operadores lógicos.