From 89158e83bddd4680290f3c13a6dab3cf7b1b610b Mon Sep 17 00:00:00 2001 From: denisdulici Date: Thu, 21 Jun 2018 16:22:37 +0300 Subject: [PATCH] fixed #389 --- app/Http/Controllers/Expenses/Bills.php | 20 +++++++++++++++----- app/Http/Controllers/Incomes/Invoices.php | 20 +++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/Expenses/Bills.php b/app/Http/Controllers/Expenses/Bills.php index 576b61a59..9393d6c21 100644 --- a/app/Http/Controllers/Expenses/Bills.php +++ b/app/Http/Controllers/Expenses/Bills.php @@ -539,11 +539,21 @@ class Bills extends Controller $tables = ['items', 'histories', 'payments', 'totals']; foreach ($tables as $table) { $excel->sheet('bill_' . $table, function($sheet) use ($bills, $table) { - $bills->each(function ($bill) use ($sheet, $table) { - $sheet->fromModel($bill->$table->makeHidden([ - 'id', 'company_id', 'created_at', 'updated_at', 'deleted_at' - ])); - }); + $hidden_fields = ['id', 'company_id', 'created_at', 'updated_at', 'deleted_at']; + + $i = 1; + foreach ($bills as $bill) { + $model = $bill->$table->makeHidden($hidden_fields); + + if ($i == 1) { + $sheet->fromModel($model, null, 'A1', false); + } else { + // Don't put multiple heading columns + $sheet->fromModel($model, null, 'A1', false, false); + } + + $i++; + } }); } })->download('xlsx'); diff --git a/app/Http/Controllers/Incomes/Invoices.php b/app/Http/Controllers/Incomes/Invoices.php index 405fa703b..34a047771 100644 --- a/app/Http/Controllers/Incomes/Invoices.php +++ b/app/Http/Controllers/Incomes/Invoices.php @@ -560,11 +560,21 @@ class Invoices extends Controller $tables = ['items', 'histories', 'payments', 'totals']; foreach ($tables as $table) { $excel->sheet('invoice_' . $table, function($sheet) use ($invoices, $table) { - $invoices->each(function ($bill) use ($sheet, $table) { - $sheet->fromModel($bill->$table->makeHidden([ - 'id', 'company_id', 'created_at', 'updated_at', 'deleted_at' - ])); - }); + $hidden_fields = ['id', 'company_id', 'created_at', 'updated_at', 'deleted_at']; + + $i = 1; + foreach ($invoices as $invoice) { + $model = $invoice->$table->makeHidden($hidden_fields); + + if ($i == 1) { + $sheet->fromModel($model, null, 'A1', false); + } else { + // Don't put multiple heading columns + $sheet->fromModel($model, null, 'A1', false, false); + } + + $i++; + } }); } })->download('xlsx');