Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: toArray () - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь загрузить данные БД в формате Excel, но когда я нажимаю на кнопку загрузки, появляется сообщение:

Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: toArray ()

Контроллер

function excel()
{
    $pdf_data = DB::table('importpdfs')->toArray();
    $pdf_array[] = array('Battery', 'No_of_questions_attempted', 'SAS', 'NPR', 'ST', 'GR');

    foreach ($pdf_data as $pdf) {
        $pdf_array[] = array(
            'Battery'                   => $pdf->Battery,
            'No_of_questions_attempted' => $pdf->No_of_questions_attempted,
            'SAS'                       => $pdf->SAS,
            'NPR'                       => $pdf->NPR,
            'ST'                        => $pdf->ST,
            'GR'                        => $pdf->GR
        );
    }

    Excel::download('Pdf Data', function ($excel) use ($pdf_array) {
        $excel->setTitle('Pdf Data');
        $excel->sheet('Pdf Data', function ($sheet) use ($pdf_array) {
            $sheet->fromArray($pdf_array, null, 'A1', false, false);
        });
    })->download('xlsx');
}

1 Ответ

1 голос
/ 19 июня 2019

Вы пытаетесь вызвать toArray в построителе запросов, сначала необходимо загрузить данные, а затем вызвать toArray для коллекции:

изменить

$pdf_data = DB::table('importpdfs')->toArray();

на

$pdf_data = DB::table('importpdfs')->get()->toArray();
...