2017-01-07 18:21:27 2959次浏览 3条回答 0 悬赏 20 金钱
 //导出中奖数据
    public function actionExport() {
        $join = KynhJoin::find()->orderBy('chip_num desc,id asc')->all();
        $data = Gic::convert('昵称,姓名,电话,年画数,代言积分,奖品') . PHP_EOL; //编码转换
        foreach ($join as $k => $v) {
            $prize = '';
            if ($v->pid > 0) {
                $prize = $v->prize->name;
            }
            $line = preg_replace("/[\n\r,\"\,]+/", " ", $v->user->nickname) . ',' . $v->name . ',' . $v->tel . ',' . $v->chip_num . ',' . $v->integral . ',' . $prize . PHP_EOL;
            $line = Gic::convert($line);
            $data .= $line;
        }
        Gic::getCsv('kynh.csv', $data); //输出CSV文件
    }

储存时用了序列化存储的方式,结果数据太多就导不出了?每次都是分开导出(没5000条导出一次),很不方便,各位请说明一下原因和比较优雅的解决方案?

最佳答案

  • tisswb 发布于 2017-01-09 13:02 举报

    可以通过console生成一个csv文件,需要的时候下载就是,算是一个异步思路吧。

您需要登录后才可以回答。登录 | 立即注册
哈哈看呵呵
总监

哈哈看呵呵

注册时间:2016-10-31
最后登录:2021-02-05
在线时长:23小时45分
  • 粉丝7
  • 金钱3830
  • 威望20
  • 积分4260

热门问题