excel仅导出每周票证(支持票证网站)-laravel

yfjy0ee7  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(400)

我现在是第一次在拉威尔工作,我被一个问题困住了。我有一个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('/');
    }

提前谢谢。

bcs8qyzn

bcs8qyzn1#

您应该已经将数据从控制器发送到视图,并且只导出可以修改查询的周票。

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('/');
}

在此函数中,根据您的数据库字段更改“created\u at”字段。
你可以这样修改它:

@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

希望这对你有帮助。

相关问题