我想使用Laravel Excel从刀片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');
刀片文件
<table>My data is here...</table>
怎么了 ?
由于您正在实现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');
检查这是否适用于您的情况。