我正在使用 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'));
什么可能导致数据丢失?