Call to undefined method stdClass::toArray()
Ich möchte um die Tabelle zu exportieren, aber nicht alle Felder exportiert werden.
sorry mein Englisch ist nicht sehr gut...
Funktion excel
public function excel()
{
$rekanan_internal = rekanan_internal::all();
$selects = DB::table('rekanan_internal')->select('nama','description','pic','contact')->get();
$selectsArray = [];
$selectsArray = ['nama','description','pic','contact'];
foreach ($selects as $select)
{
$selectsArray = $select->toArray();
}
Excel::create('rekanan_internal', function($excel) use($rekanan_internal){
$excel->sheet('sheet1',function($sheet) use($selectsArray){
$sheet->fromArray($rekanan_internal);
});
})->download('xlsx');
}
immer Fehler
FatalErrorException in ExportController.php Linie 31: Call to undefined
method stdClass::toArray()
Du musst angemeldet sein, um einen Kommentar abzugeben.
DB::table('xxxx')->get()
gibt eine Sammlung vonstdClass
.stdClass
hat keine FunktiontoArray()
.Werden Sie wahrscheinlich wollen, um eine Liste der gesamten Sammlung, in diesem Fall, ersetzen Sie die for-Schleife mit dem folgenden:
Dies ist, weil eine Sammlung stellt eine Funktion namens
toArray
.Update:
Man könnte sogar den code verkürzen, um die folgenden:
Update 2:
Für Laravel-Versionen kleiner als 5.3, Sie brauchen nicht einmal zu werfen das Ergebnis in ein array, weil das Ergebnis einem array zu.
select
Funktion.