here my web.php
Route::post('/export_excel', 'PenyetoranController@exportExcel')->name('penyetoran.export-excel')->middleware('role:BENDAHARA|SUPERVISOR');
here my export file
<?php
namespace App\Exports;
use App\GroupPasar;
use Carbon\Carbon;
use App\Users;
use App\Pasar;
use App\Penyetoran;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithMapping;
class PenyetoranExport implements FromCollection, WithHeadings, WithMapping
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
$startDate = request()->input('tgl_awal') ;
$endDate = request()->input('tgl_akhir') ;
if(request()->input('grup_pasar')!=null)
{
$groupId = request()->input('grup_pasar');
return GroupPasar::where('group_pasars.id', $groupId)
->join('pasar', 'pasar.grup_pasar', '=', 'group_pasars.id')
->join('penyetoran', function ($join){
$join->on('penyetoran.pasar', '=', 'pasar.id');
$join->where('status', 1);
})
->join('users', 'penyetoran.petugas', '=', 'users.id')
->whereBetween('penyetoran.tanggal_penyetoran', [$startDate, $endDate])
->select('group_pasars.nama as nama_pasar','users.name as nama_petugas', 'penyetoran.jumlah_setoran','penyetoran.penyetoran_melalui','penyetoran.tanggal_penyetoran','penyetoran.tanggal_disetor')
->get();
}
return Penyetoran::select('pasar','petugas','jumlah_setoran','penyetoran_melalui','tanggal_penyetoran','tanggal_disetor')->where('status',1)
->whereBetween('tanggal_penyetoran', [$startDate, $endDate])->get();
}
public function map($penyetoran) : array {
if(request()->input('grup_pasar')!=null){
return [
$penyetoran->nama_pasar,
$penyetoran->nama_petugas,
$penyetoran->jumlah_setoran,
$penyetoran->penyetoran_melalui,
Carbon::parse($penyetoran->tanggal_penyetoran)->toFormattedDateString(),
Carbon::parse($penyetoran->tanggal_disetor)->toFormattedDateString(),
] ;
}
return [
$penyetoran->nama_pasar,
$penyetoran->name,
$penyetoran->jumlah_setoran,
$penyetoran->penyetoran_melalui,
Carbon::parse($penyetoran->tanggal_penyetoran)->toFormattedDateString(),
Carbon::parse($penyetoran->tanggal_disetor)->toFormattedDateString(),
] ;
}
public function headings() : array {
return [
'Pasar',
'Petugas',
'Jumlah Setoran',
'Penyetoran Melalui',
'Tanggal Penyetoran',
'Tanggal Disetor',
] ;
}
}
here my controller
``public function exportExcel(Request $request)
{
$this->validate($request,[
'tgl_awal' => 'required|date',
'tgl_akhir' => 'required|date|after:tgl_awal',
], [
'tgl_awal.required' => 'Tanggal awal harus diisi',
'tgl_akhir.after' => 'Tanggal akhir yang dipilih harus sehari sesudah tanggal awal',
'tgl_akhir.required' => 'Tanggal akhir harus diisi',
]);
return Excel::download(new PenyetoranExport, 'Daftar Penyetoran - '.date('d-m-Y').'.xlsx');
}`
`
Here my View
{{-- <a href="/penyetoran/export_excel" role="button" target="_blank">Export Excel<span ></a> --}}
<form id="formExport" action="{{route('penyetoran.export-excel')}}" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
<div >
<label for="export" >Export</label>
<div >
<input id="tgl_awal" name="tgl_awal" type="date" value="{{ old('tgl_awal') }}">
@error('tgl_awal')
<span role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div> -
<div >
<input id="tgl_akhir" name="tgl_akhir" type="date" value="{{ old('tgl_akhir') }}">
@error('tgl_akhir')
<span role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div >
<input type="submit" value="Export Excel">
</div>s
</div>
<div >
<label for="export" ></label>
<div >
<select id="grup_pasar" name="grup_pasar" >
<option value="">-- Pilih Grup Pasar --</option>
@foreach($groups as $group)
<option value="{{$group->id}}">{{$group->nama}}</option>
@endforeach
</select>
<small >Pilih grup pasar untuk mencetak berdasarkan grup pasar</small>
</div>
</div>
</form>
do i need to re make the export ? or there is something just wrong with the way i using it? please help me here is the error Route [penyetoran.export-excel] not defined. (View:C:\xampp\htdocs\siappara_web_v2\resources\views\penyetoran\indexLaporan.blade.php)
CodePudding user response:
error route [penyetoran.export-excel] not defined
Most likely this is an issue with your route being cached.
To clear the route cache.
php artisan route:clear
To list the routes:
php artisan route:list