Laravel - Экспорт - PullRequest
       9

Laravel - Экспорт

0 голосов
/ 06 апреля 2020

Я создал сайт, где пользователи могут создавать поездки. У каждой поездки есть маршрут поездки со списком событий.

Я добавил здесь кнопку экспорта, где пользователь может сохранить свой маршрут в виде таблицы Excel. enter image description here

Кнопка экспорта загружает лист Excel с полями, показанными на рисунке ниже. Я хочу изменить то, что показано в таблице Excel.

У меня есть отношение один ко многим между таблицей «поездка» и таблицей «события».

Как только пользователь нажимает на свой маршрут поездки, он просматривает свой список событий в таблице ниже. Я хочу, чтобы они были в загрузке для экспорта.

enter image description here

enter image description here

Лист Excel должен показывать только одну поездку, которую пользователь нажимает для экспорта.

Я хочу, чтобы на листе Excel отображалась дата начала поездки Назначение даты окончания поездки Событие (я) Имя (я) Дата начала события Дата окончания события Событие Время Событие Адрес

Таблица поездок в базе данных

Trip Table in database

Таблица событий в База данных

enter image description here

Trips.blade. php

  <th>
        <a href="{{route('export')}}" class="btn btn-secondary">Export</a>
      </th>

TripController. php

public function export() {
    return Excel::download(new TripsExport, 'trips.xlsx');
}

1 Ответ

0 голосов
/ 06 апреля 2020
use Maatwebsite\Excel\Concerns\WithMapping;

class InvoicesExport implements FromQuery, WithMapping
{    
    /**
    * @var Invoice $invoice
    */
    public function map($invoice): array
    {
        return [
            $invoice->invoice_number,
            $invoice->user->name,
            Date::dateTimeToExcel($invoice->created_at),
        ];
    }
}

Пожалуйста, прочитайте документацию о картографических данных, которые вы хотите экспортировать. https://docs.laravel-excel.com/3.1/exports/mapping.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...