Maatwebsite / Laravel-Excel экспортирует пустое Excel при использовании Input :: get () в модели - PullRequest
0 голосов
/ 14 ноября 2018

Я разработал приложение Laravel, которое подключается к внешней базе данных MySQL для отчетов. Я использую Maatwebsite / Laravel-Excel 3.1, чтобы иметь возможность экспортировать в Excel.

В этом приложении в моей модели есть метод, который использует Input :: get () для 3 переменных ($ from, $ to, $ paymentType). Этот метод вызывается всякий раз, когда пользователь выбирает диапазон дат и тип оплаты в качестве фильтра для своих отчетов. Все работает как надо, так как данные отображаются в моем представлении.

Теперь этот же метод вызывается, когда пользователь решает экспортировать файл в Excel. Опять же, все, что работает, кроме файлов, пусто.

Любопытно, что если я заменю все Input :: get () для статических значений, таких как «2018-11-14» для дат и «n» для типа платежа, то файл будет экспортирован с данными.

Я боролся с этим пару дней, поэтому надеюсь, что кто-нибудь мне поможет.

Спасибо

Эрнесто

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Сначала, к началу файла контроллера, добавьте:

use Illuminate\Http\Request;

Затем вы можете получить доступ к полям:

$request->input('from');
$request->input('to');

Предположение: from и to - правильные имена полей.

Вы также можете использовать request()->input('from') и т. Д. Напрямую (обратите внимание на отсутствие $).

Пожалуйста, смотрите это для получения дополнительной информации: https://laravel.com/docs/5.6/requests

0 голосов
/ 14 ноября 2018

Если параметры получены из запроса, вы должны использовать $request->input() вместо Input::get().

Если используется в функции, где $request недоступен, вы можете использовать request('variable'), чтобы получить значение variable из запроса.

...