使用Maatwebsite导出excel文件时为foreach()提供的参数无效

时间:2018-08-26 18:47:35

标签: excel laravel

我对Laravel和PHP还是陌生的,只是尝试使用此Maatwebsite

将表格html导出到excel文件中

关注此hdtuto

这是我的职责

public function exportFile($id){
                $products = DB::table('duan')
                ->whereIn('MaDA', $id)
                ->get();
                return \Excel::create('Filename', function($excel) use ($products) {
                            $excel->sheet('sheet name', function($sheet) use ($products)
                            {
                                $sheet->fromArray($products);
                            });

                })->download('xlsx');
        }

但是我有警告:为foreach()提供了无效的参数。有什么建议吗?预先感谢

1 个答案:

答案 0 :(得分:1)

您收到Invalid argument supplied for foreach()错误,因为php在foreach循环中找不到要迭代的项(数组或对象)。您的查询中存在拼写错误,这会导致您返回null

public function exportFile($id){
                $products = DB::table('duan')
                ->whereIn('MaDA', $id) // you need to put $id in array like [$id]
                ->get();

                return \Excel::create('Filename', function($excel) use ($products) {
                         $excel->sheet('sheet name', function($sheet) use ($products)
                            {
                                $sheet->fromArray($products);
                            });

                })->download('xlsx');
 }