Я хочу иметь возможность экспортировать таблицу в Excel.
Я использую Maatwebsite и пытаюсь использовать метод From View. Однако это дает мне следующую ошибку ..
Неопределенная переменная: trip (Просмотр: C: \ xampp \ htdocs \ basicwebsite \ resources \ views \ share.blade. php)
TripsExport. php
<?php
namespace App\Exports;
use App\Trip;
use App\Events;
use Maatwebsite\Excel\Concerns\FromCollection;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\WithHeadings;
class TripsExport implements FromView
{
public function view() : View
{
return view('share', [
'events' => Events::all(),
]);
}
}
share.blade. php
<!DOCTYPE html>
@extends('layouts.app')
@section('content')
<a href="{{route('export', 'xlsx')}}" class="btn btn-primary">Export Itinerary</a>
<table>
<thead>
<tr>
<th>Event Name</th>
<th>Start Date</th>
<th>Emd Date</th>
<th>Time</th>
<th>Address</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
@foreach($trip->events as $event)
<tr>
<td>{{ $event->event_name }}</td>
<td>{{ $event->start_date }}</td>
<td>{{ $event->end_date }}</td>
<td>{{ $event->time }}</td>
<td>{{ $event->address }}</td>
<td>{{ $event->notes }}</td>
</tr>
@endforeach
</tbody>
</table>
@endsection
TripController. php
public function export($type = 'xls')
{
return Excel::download(new TripsExport, 'itinerary.' . $type);
}
public function share($id)
{
//$events = Events::all();
$trip = Trip::findOrFail($id);
$trips = Trip::all();
$events = Events::get();
return view ('share')->with([
'events' => $events,
'trip' => $trip
]);
}
маршруты
Route::get('export/{type?}', 'TripController@export')->name('export');
Route::get('/share/{id}', 'TripController@share')->name('trips.share');
Данные отображаются правильно в представлении. Я просто хочу экспортировать это в Excel .
После нажатия кнопки «Экспорт» я получаю сообщение об ошибке ...