物体价值神秘地改变了

时间:2013-03-05 22:39:26

标签: php laravel

我正在使用Laravel框架从MySQL数据库查询一些数据。我不会发布整个查询,因为它很长。

$logs = DB::query('SELECT ... FROM .. JOIN ... WHERE .. GROUP BY .. ORDER BY');

我使用简单的foreach循环迭代结果并使用PHPExcel生成报告,如下所示:

foreach($logs as $log):
 ...
endforeach;

在循环中,我按如下方式计算月份中两个日期之间的差异:

$cntr_startdate = new DateTime($log->start_date);
$cntr_enddate = new DateTime($log->end_date);                   
$conterm = $cntr_enddate->diff($cntr_startdate);
$cterm = (($conterm->format('%y') * 12) + $conterm->format('%m'));

在以下行之后,$ log对象中的rate字段以某种方式被破坏并返回垃圾,如b,X和O.5(其余字段未被触及)。

$cterm = (($conterm->format('%y') * 12) + $conterm->format('%m'));

可能导致数据丢失的原因是什么?

1 个答案:

答案 0 :(得分:0)

尝试使用MySQL TIMESTAMPDIFF函数,让MySQL为您进行计算。无论如何,我认为这样会更有效率。