【发布时间】:2020-06-15 06:13:17
【问题描述】:
我有一个 Laravel 应用程序,它运行一个命令来将技术人员分配给 csv 中列出的工作。将 csv 解析为一个数组,并在添加元素之前根据业务需求过滤该数组。我在生成 csv 时遇到问题,因为当我点击 URI 时收到的错误是“无法访问站点。错误无效响应”。
这是我从函数结果中获得的数组示例。
array (
)array (
21 =>
array (
'JobNumber' => '2',
'JobType' => '3',
'Node' => '10',
'fname' => 'RICARDO',
'lname' => 'SMITH',
'RAddress' => 'SUGARAPPLE ST',
'HomePhone' => '3924651',
'WorkPhone' => '3276200',
'RTime' => '10-12',
'Comment' => 'FROM POLICE STATION, EAST INTO PINEWOOD..3RD LFT ONTO SUGARAPPLE ST; 5TH HSE ON RGT; BEIGE/YELLW #19',
'FTax' => '1.00',
'Tag' => '010106',
'QuotaGroup' => '1.00',
'Cust_Acct' => '10221401',
'offernum' => '2136370',
'installer' => 'Aaron Cash',
),
122 =>
array (
'JobNumber' => '30',
'JobType' => '3',
'Node' => '213',
'fname' => 'MONIQUE',
'lname' => 'SAWYER NAIRN',
'RAddress' => 'SUTTON ST',
'HomePhone' => '8017750',
'WorkPhone' => '2250417',
'RTime' => '10-12',
'Comment' => 'TRN ONTO KEMP RD FRM SHIRLEY ST, 1ST LFT BY LODGE BLDG, 2ND RT, UNPAINTED HSE AT DEAD END. #13 ...SDW',
'FTax' => '1.00',
'Tag' => '213308',
'QuotaGroup' => '1.00',
'Cust_Acct' => '11390602',
'offernum' => '2137494',
'installer' => 'Wayne Forbes',
控制器:
<?php
namespace App\Http\Controllers;
use App\Console\Commands\NPInstallersAssigner;
use Illuminate\Http\Request;
class GetCsvController extends Controller
{
public function getCsv()
{
$npinstallerassigner = new NPInstallersAssigner();
$results = $npinstallerassigner->assignEasternJobs();
$filename = 'userData.csv';
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=$filename");
$output = fopen("php://output", "w");
$header = array_keys($results[0]);
fputcsv($output, $header);
foreach ($results as $row) {
fputcsv($output, $row);
}
fclose($output);
}
}
我相信用于将数组执行到 csv 的代码可能被格式化了?
【问题讨论】:
标签: php arrays laravel multidimensional-array export-to-csv