Excel экспорт только еженедельные билеты (поддержка тикет сайт) - Laravel - PullRequest
0 голосов
/ 16 мая 2018

В настоящее время я работаю над 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

Функция Excel в ticketscontroller:

public function exportxls(){
      Excel::create('tickets', function($excel){
        $excel->sheet('tickets', function($sheet){
          $sheet->loadView('export.ticketsexcel');
        })->export('xls');
      });
      return redirect('/');
    }

Заранее спасибо.

1 Ответ

0 голосов
/ 16 мая 2018

Вы должны были отправить данные из контроллера в представление и экспортировать только еженедельные тикеты, которые вы можете изменить в своем запросе.

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

В этой функции измените поле «create_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

Надеюсь, это поможет вам.

...