laravel 中的“第 1 行必须是数组”
`Row `1` must be array` in laravel
我正在尝试在 maatwebsite 的帮助下在 laravel 中导入 csv 文件。我有一个查询,它从两个 table 中获取数据,两者都相互关联。当我尝试获取两个 table 的数据时,它只导出一个 table 数据,它给我一个 Row
1must be array
的错误
$data = SaleOrder::where('id',$id)->with('customers')->get()->toArray();
return Excel::create('Packlist Sale Order '.$id, function($excel) use ($data) {
$excel->sheet('mySheet', function($sheet) use ($data)
{
foreach($data as $customer)
{
$sheet->fromArray($customer['customers']);
}
$sheet->fromArray($data);
});
})->download('xlsx');
我想在 csv 文件中获取两个 table 的数据
您正在使用 with('customers')
,这意味着 $data
是一个多维数组,其中已有客户,并且可能会破坏 $sheet->fromArray($data);
如果您从查询中删除 with('customers')
并执行此操作:
foreach($data as $salesOrder)
{
$sheet->fromArray($salesOrder->customers()->get()->toArray());
}
这将按需加载它并将其从 $data
中删除。
我正在尝试在 maatwebsite 的帮助下在 laravel 中导入 csv 文件。我有一个查询,它从两个 table 中获取数据,两者都相互关联。当我尝试获取两个 table 的数据时,它只导出一个 table 数据,它给我一个 Row
1must be array
$data = SaleOrder::where('id',$id)->with('customers')->get()->toArray();
return Excel::create('Packlist Sale Order '.$id, function($excel) use ($data) {
$excel->sheet('mySheet', function($sheet) use ($data)
{
foreach($data as $customer)
{
$sheet->fromArray($customer['customers']);
}
$sheet->fromArray($data);
});
})->download('xlsx');
我想在 csv 文件中获取两个 table 的数据
您正在使用 with('customers')
,这意味着 $data
是一个多维数组,其中已有客户,并且可能会破坏 $sheet->fromArray($data);
如果您从查询中删除 with('customers')
并执行此操作:
foreach($data as $salesOrder)
{
$sheet->fromArray($salesOrder->customers()->get()->toArray());
}
这将按需加载它并将其从 $data
中删除。