我有一大堆结果作为csv导出的cakePHP模型的数组。我一直在使用循环格式化,如下所示。随着记录数量的增加,这变得太慢并且给出了超时错误。有没有更好的方法来使用cakephp hash或php数组函数?
foreach($people as $person){
array_push($results, array(
'SchoolName'=> $person['School']['name'],
'SchoolRef' => $person['School']['ref'],
'firstName' => $person['Person']['firstname'],
'LastName' => $person['Person']['lastname'],
'Year1' => $person['Person']['year_1'],
'StudentID' => $person['Person']['studentid'],
'Email' => $person['Person']['email']
));
}
答案 0 :(得分:1)
如果您只是输出到CSV,为什么不尝试直接从MySQL(或您正在使用的数据库)输出。
EG。 http://ariejan.net/2008/11/27/export-csv-directly-from-mysql/
或者,如果数据没有改变,您可以预先确定现有输出。因此,如果您上次输出CSV时有10,000名学生,则可以保存该CSV并添加新记录。如果它们确实发生了变化,您可以为每条记录添加所有字段的哈希值。
此外,如果数据不必精确到达分钟,您可以每天预测(或任何适合您的间隔)。
然而,如果没有明确指出你所处的位置(就记录大小和超时而言),并且不清楚你想去哪里,很难做出具体的推荐。