Как исправить ошибку при использовании экспорта запросов для экспорта больших данных в Laravel - PullRequest
0 голосов
/ 03 февраля 2020

Я хочу экспортировать большие данные (> 10 КБ), когда я нажал кнопку «Экспорт». Я пытался использовать Yagra Datatable, однако он может экспортировать только текущую страницу для разбивки на страницы. поэтому я попытался экспортировать запрос Maatwebsite. Что я сделал, когда нажал кнопку «экспорт», результат будет передан в функцию Excel, и он будет экспортировать данные на мой локальный компьютер. Мой контроллер, как показано ниже:

public function filterQuery(Request $request)
{
    $dataGender = $request->dataGender;
    $ethnicity = $request->ethnicity;



What should I fix so that when I clicked the button, the query will export the result into CSV? 

1 Ответ

0 голосов
/ 03 февраля 2020

excel() принимает 2 параметра. Request $request отправляется автоматически, но $type - нет.

function excel(Request $request, <b><i>$type</i></b>) { ... }

Ваш URI /custom не имеет параметра, поэтому единственный способ отправить тип - добавить его в качестве параметра GET , (например. /custom?type=some_type)

Ваши параметры:

  1. Установите значение по умолчанию в вашей функции excel ().
function excel(Request $request, <b><i>$type = 'default'</i></b>) { ... }
Передайте значение по вашему маршруту.

<a href="{{ route('export_excel.excel') }}?type=some_type" class="btn btn-success">Export to Excel</a>

Удалить параметр типа $.
<s>function excel(Request $request, $type)</s>
function excel(Request $request)
{
    return Excel::create('FILENAME', function ($excel) use ($data) {
        $excel->sheet('mySheet', function ($sheet) use ($data) {
            $sheet->fromArray($data);
        });
    <s>})->download($type);</s>
    })->download('default');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...