调用数组laravel excel上的成员函数all()

tee*_*ire 1 php laravel laravel-excel maatwebsite-excel

我正在使用 laravel maatwebsite excel,

我尝试传递变量并执行一些操作并作为数组返回以导出,

因此,当我尝试将数组传递给主控制器以进行 excel 导出(下载)时出现错误

我的主控制器

public function excel_export(Request $request){

return Excel::download(new UsersExport($request->exp_vlas), 'users.xlsx');

}
Run Code Online (Sandbox Code Playgroud)

这里我将变量传递给集合

我的出口控制器

public function collection(){


        $instruments = implode(",",$this->id);

        $instruments = explode(",",$instruments);

        //$i=0;
        foreach ($instruments as $instrument) {
            $instr_list = DB::table('instruments')->select('*')->where('id',$instrument)->get()->toArray();
            $arr_instrulist[] = $instr_list;
            $instrument_var[] = $instrument;
            $instr_list = "";
            //$i++;
        }


        $arr_instrulist_excel[] = array('Instrument Name', 'Serial', 'Qa id', 'Unit', 'Range');

         foreach($arr_instrulist as $arr_instrulists){

            //$arr_instrulists = array($arr_instrulists);

              $arr_instrulist_excel[] = array(
               'Instrument Name'  => $arr_instrulists[0]->instrument_name,
               'Serial'   => $arr_instrulists[0]->serial,
               'Qa id'    => $arr_instrulists[0]->qa_identification_no,
               'Unit'  => $arr_instrulists[0]->unit,
               'Range'   => $arr_instrulists[0]->range
              );

        }


         return $arr_instrulist_excel;
}
Run Code Online (Sandbox Code Playgroud)

当试图返回这个($arr_instrulist_excel)我得到一个错误

请给我一些解决方案。

我面临的错误

我面临的错误

小智 8

您告诉导出脚本从集合中获取数据,但您提供的是一个数组。您应该返回集合。您可以像这样简单地将数组包装在集合中:

return collect($arr_instrulist_excel);
Run Code Online (Sandbox Code Playgroud)