`行'1'必须是laravel中的数组'
我正试图在maatwebsite的帮助下导入laravel中的csv文件。我有一个查询,它从两个表中获取数据,这两个表都是相互关联的。当我试图获取两个表的数据时,它仅导出一个表数据。它给我一个错误,即`行'1'必须是laravel中的数组',laravel,csv,laravel-5,maatwebsite-excel,Laravel,Csv,Laravel 5,Maatwebsite Excel,我正试图在maatwebsite的帮助下导入laravel中的csv文件。我有一个查询,它从两个表中获取数据,这两个表都是相互关联的。当我试图获取两个表的数据时,它仅导出一个表数据。它给我一个错误,即行1必须是数组 $data = SaleOrder::where('id',$id)->with('customers')->get()->toArray(); return Excel::create('Packlist Sale Order '.$id, functi
行
1必须是数组
$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文件中获取两个表的数据您正在使用一个带有('customers')的,这意味着$data
是一个多维数组,其中已经有客户,可能会破坏$sheet->fromArray($data)代码>
如果从查询中删除带('customers')
的,并执行以下操作:
foreach($data as $salesOrder)
{
$sheet->fromArray($salesOrder->customers()->get()->toArray());
}
这将按需加载它,并将其保留在$data
之外。您是对的,但它仍然不能获取其他表的数据。一次只能获取一个表