这是我的
web.php
:
Route::post('/export_excel', 'PenyetoranController@exportExcel')->name('penyetoran.export-excel')->middleware('role:BENDAHARA|SUPERVISOR');
这是我的导出文件:
<?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',
] ;
}
}
这是我的控制器:
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');
}
这是我的观点:
{{-- <a class="btn btn-success" href="/penyetoran/export_excel" role="button" target="_blank">Export Excel<span class=""></a> --}}
<form id="formExport" action="{{route('penyetoran.export-excel')}}" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group row">
<label for="export" class="col-sm-1 col-form-label">Export</label>
<div class="col-sm-3">
<input id="tgl_awal" name="tgl_awal" type="date" class="form-control @error('tgl_awal') is-invalid @enderror" value="{{ old('tgl_awal') }}">
@error('tgl_awal')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div> -
<div class="col-sm-3">
<input id="tgl_akhir" name="tgl_akhir" type="date" class="form-control @error('tgl_akhir') is-invalid @enderror" value="{{ old('tgl_akhir') }}">
@error('tgl_akhir')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-2">
<input type="submit" class="btn btn-success" value="Export Excel">
</div>s
</div>
<div class="form-group row">
<label for="export" class="col-sm-1 col-form-label"></label>
<div class="col-sm-3">
<select id="grup_pasar" name="grup_pasar" class="form-control">
<option value="">-- Pilih Grup Pasar --</option>
@foreach($groups as $group)
<option value="{{$group->id}}">{{$group->nama}}</option>
@endforeach
</select>
<small class="text-muted">Pilih grup pasar untuk mencetak berdasarkan grup pasar</small>
</div>
</div>
</form>
我需要重新导出吗?还是我使用它的方式有问题?请帮助我
这是错误:
路线 [penyetoran.export-excel] 未定义。 (查看:C:\xampp\htdocs\siappara_web_v2 资源 iews\penyetoran\indexLaporan.blade.php)
错误路线[penyetoran.export-excel]未定义
这很可能是您的路线被缓存的问题。
清除路由缓存。
php artisan route:clear
列出路线:
php artisan route:list