我想使用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>
怎么了?
答案 0 :(得分: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');
检查是否适合您的情况。