0

我有大量结果作为来自用于 csv 导出的 cakePHP 模型的数组。我一直在使用循环进行格式化,如下所示。随着记录数量的增长,这变得太慢并给出超时错误。有没有更好的方法使用 cakephp 哈希或 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']
             ));                                                  
    }           
4

1 回答 1

1

如果您只是输出到 CSV,为什么不尝试直接从 MySQL(或您使用的任何数据库)输出。

例如。http://ariejan.net/2008/11/27/export-csv-directly-from-mysql/

或者,如果数据没有变化,您可能能够预先汇总现有输出。因此,如果您上次输出 CSV 时有 10,000 名学生,则可以保存该 CSV 并附加新记录。如果它们确实发生了变化,您可以将所有字段的哈希添加到每条记录。

此外,如果数据不必精确到分钟,您可以每天(或任何适合您的时间间隔)进行汇总。

但是,如果没有明确指示您所处的位置(就记录大小和超时而言),也没有清楚地知道您想去哪里,很难做出具体的建议。

于 2013-09-03T05:56:39.797 回答