Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

juanvaleriandelima's avatar

Call to a member function toArray() on array(Export table to excel)

I want to export the table but not all fields have to be exported. sorry my english is not very good...

       function excel
 public function excel()
     {
     $rekanan_internal = rekanan_internal::all();
     $selectsArray = DB::table('rekanan_internal')->select('nama','description','pic','contact')       
     ->get()->toArray();
    Excel::create('rekanan_internal', function($excel) use($rekanan_internal){
        $excel->sheet('sheet1',function($sheet) use($selectsArray){
            $sheet->fromArray($rekanan_internal);
        });
    })->download('xlsx');
}

getting error : Call to a member function toArray() on array

0 likes
2 replies
Talinon's avatar

Maybe try this instead?


  Excel::create('rekanan_internal', function($excel) use($selectsArray){
        $excel->sheet('sheet1',function($sheet) use($selectsArray){
            $sheet->fromArray($selectsArray);
        });


robrogers3's avatar

do this: $rekanan_internal = rekanan_internal::get(['nama','description','pic','contact'])

that will only return the columns you want to export.

Please or to participate in this conversation.