我正在使用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和0.5这样的垃圾(其余字段保持不变)。
$cterm = (($conterm->format('%y') * 12) + $conterm->format('%m'));数据丢失的原因可能是什么?
发布于 2013-03-06 23:48:59
尝试使用函数,让MySQL为您计算。不管怎样,我认为这会更有效率。
https://stackoverflow.com/questions/15235537
复制相似问题