Maatwebsite / Excel Ошибка экспорта - PullRequest
0 голосов
/ 14 мая 2018

Я использую Laravel 5.4 и хочу экспортировать запись в файл excel, но я получил эту ошибку

Аргумент 1, передаваемый в Illuminate \ Database \ Eloquent \ Builder :: create (), должен иметь тип массива, заданная строка, вызываемая в C: \ xampp \ htdocs \ www \ vendor \ laravel \ framework \ src \ Illuminate \ База данных \ Eloquent \ Model.php в строке 1332 и определена

и вот мой код:

   $export = Student::all();
    Excel::create('Export Excel',function($excel) use($export){
        $excel->sheet('Sheet 1', function($sheet) use($export){
            $sheet->fromArray($export);

        });
    })->download('xlsx');
   $export = Student::all();
Excel::create('Export Excel',function($excel) use($export){
    $excel->sheet('Sheet 1', function($sheet) use($export){
        $sheet->fromArray($export);

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

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Возможно, у вас есть модель с именем "Excel", которая создает проблему.

Просто создайте псевдоним для «Maatwebsite / Excel» при импорте:

use Maatwebsite\Excel\Facades\Excel as MaatExcel;
0 голосов
/ 14 мая 2018

$export - это коллекция Eloquent, и вы используете метод fromArray, поэтому он ожидает массив.

Вы можете сделать две вещи:

  1. Преобразование вашей коллекции Eloquent в массив:

$sheet->fromArray($export->toArray());

  1. Используйте метод fromModel, который принимает коллекцию Eloquent:

$sheet->fromModel($export);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...