Экспортируйте Excel из вида лезвия в Laravel

Я хотел бы экспортировать файл Excel из блейд-представления Laravel, используя Laravel Excel но я получил эту ошибку:

Declaration of App\Http\Controllers\ExportController::view($id): Illuminate\Contracts\View\View must be compatible with Maatwebsite\Excel\Concerns\FromView::view(): Illuminate\Contracts\View\View

контроллер

<?php

namespace App\Http\Controllers;

use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use App\User;


class ExportController implements FromView
{

public function view($id): View
{
return view('users.export', [
'user' => User::find($id)
]);
}
}

маршрут

Route::get('exportxls/{id}', 'ExportController@view');

Blade File

<table>My data is here...</table>

Что случилось ?

1

Решение

Так как вы реализуете Maatwebsite \ Excel \ Concerns \ FromView, вы должны переопределить view() без каких-либо параметров.

public function view(): View
{
return view('users.export');
}

Так как вам нужно user_idВы можете попытаться передать его функции в URL. Что-то вроде: server/exportxls?user_id=2

И тогда получится так:

$userId = request('user_id');

Проверьте, работает ли это в вашем случае.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector