我目前正在第一次使用Laravel,我遇到了一个问题。我的票证列表页面上有一个导出excel按钮,但它导出了所有已创建的票证。有没有办法只根据当前日期以excel格式导出每周票?
excel表格:
@foreach (\App\Tickets::All() as $ticket)
<tr>
<td>{{ $ticket->societe}}</td>
<td>{{ $ticket->intervenant}}</td>
<td>{{ $ticket->assistance->level}}</td>
<td>{{ $ticket->message}}</td>
<td>{{ $ticket->urgence->niveau}}</td>
<td>{{ $ticket->statut}}</td>
<td>{{ $ticket->utilisateur->name}}</td>
</tr>
@endforeach
ticketcontroller中的Excel函数:
public function exportxls(){
Excel::create('tickets', function($excel){
$excel->sheet('tickets', function($sheet){
$sheet->loadView('export.ticketsexcel');
})->export('xls');
});
return redirect('/');
}
提前致谢。
答案 0 :(得分:0)
您应该已将数据从控制器发送到视图,并且只导出每周票证,您可以修改查询。
public function exportxls(){
$weeklyTickets = \App\Tickets::whereBetween('created_at', array(date("Y-m-d", strtotime("-7 days")), date('Y-m-d'))->get();
Excel::create('tickets', function($excel) use ($weeklyTickets){
$excel->sheet('tickets', function($sheet) use ($weeklyTickets){
$sheet->loadView('export.ticketsexcel', array('weeklyTickets' => $weeklyTickets));
})->export('xls');
});
return redirect('/');
}
在此功能中更改&#34; created_at&#34;根据您的数据库字段填写字段。
在视图中你可以像这样修改它:
@foreach ($weeklyTickets as $ticket)
<tr>
<td>{{ $ticket->societe}}</td>
<td>{{ $ticket->intervenant}}</td>
<td>{{ $ticket->assistance->level}}</td>
<td>{{ $ticket->message}}</td>
<td>{{ $ticket->urgence->niveau}}</td>
<td>{{ $ticket->statut}}</td>
<td>{{ $ticket->utilisateur->name}}</td>
</tr>
@endforeach
希望这会对你有所帮助。