Я обновил библиотеку laravel excel (Maatswebsite) с 2x до 3.1 (работает Laravel 5.6 / php 7.1) и пытаюсь заставить мои старые данные работать (скачать экспортированный файл) и не могу понять, как передать мои $ data (что является массивом от запроса к базе данных foreach (не красноречивого) в контроллере к классу UsersExport.php ...
Если я вручную создаю коллекцию тестов (зеркалируя массив $ data) в классе:
return collect([
[
'name' => 'F Name 1',
'surname' => 'Last Name 1',
'email' => 'Email 1'
'date_completed' => 'xx/xx/xx'
],
[
'name' => 'F Name 2',
'surname' => 'Last Name 2',
'email' => 'Email 2',
'date_completed' => 'xx/xx/xx'
]
]);
вышеописанное прекрасно работает, файл создается и загружается при запуске:
return Excel::download(new UsersExport, 'Test.xlsx');
Но я хочу передать свой массив ($ data) из контроллера в класс и не уверен, КАК я это делаю ... Я пытаюсь заставить что-то подобное работать:
return Excel::download(new UsersExport($data), 'Test.xlsx');
После прочтения конкретных постов, которые я смог найти, я считаю, что мне нужно создать конструктор в классе, чтобы принимать мои $ data - но не уверен, как и как вернуть эти данные, если я преуспею в своем классе, принимая данные и т. Д. ... Является ли FromCollection правильным вариантом?
private $data;
public function __construct($data)
{
$this->data = $data;
}
Ценю любую помощь .... Заранее спасибо.