Conheça  A Ferramenta LowCode mais moderna e veloz para desenvolvimento PHP: Adianti Creator
Diferença de dias entre duas datas Saudações comunidade do adianti, pretendo exibir a data actual do sistema no datagrid e mostrar os os dias em falta entre essas duas datas. ...
AE
Diferença de dias entre duas datas  

Saudações comunidade do adianti, pretendo exibir a data actual do sistema no datagrid e mostrar os os dias em falta entre essas duas datas.


 
  1. <?php
  2. $dias = new TDataGridColumn('=({DATA_FIM}-{DATA_ACTUAL})','Dias/Falta','center');
  3. ?>

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (4)


MC

uma sugestão, algo nesse sentido:

 
  1. <?php
  2. $dias = new TDataGridColumn('dias','Dias/Falta','center');
  3. $dias->setTransformer( function($value, $object, $row)
  4. {
  5. $calc_dias = object->DATA_FIM - $object->DATA_ACTUAL;
  6. return $calc_dias;
  7. });
  8. ?>



AE

 
  1. <?php
  2. Obrigado Marcelo Carvalho, a sua ideia me ajudou bastante, o problema está a repetir os dias em todas linhas, está a pegar somente
  3. uma data final, eu quero que pega em função de cada linha...
  4. em anexo envio a imgem
  5. $dias = new TDataGridColumn('dias','Dias/Falta','center');
  6. $dias->setTransformer( function($value, $object, $row)
  7. {
  8. TTransaction::open('correctora');
  9. $criteria = new TCriteria;
  10. $apolice = Apolice::find(3);
  11. $data_final = $apolice->DATA_FIM;
  12. echo $data_final;
  13. $data_inicial = new DateTime(date('Y-m-d'));
  14. $data_final = new DateTime($data_final);
  15. //$calc_dias = $date->format('d/m/Y');
  16. $intvl = $data_inicial->diff($data_final);
  17. return $intvl->days;
  18. });
  19. ?>

MC

o erro, eu acredito que esteja na linha 15

$apolice = Apolice::find(3); --> esta pegando sempre o mesmo registro nr 3


o correto nao deveria ser assim ?

$apolice = Apolice::find($object->id); ou id_apolice
AE

Marcelo Carvalho muito grato deu certo. Esquecia deste pormenor!
Continua assim.