Laravel Excel 传递参数
Laravel Excel passing argument
我正在尝试传递参数来过滤要导出到 Excel 的数据。
这是我的代码:
class UnitExport implements FromCollection
{
public function collection($proj_id)
{
return Unit::where('project_id', $proj_id);
}
}
class UnitController extends Controller
{
public function index($proj_id)
{
return view('dev-admin.projects.units.index', ['proj_id' => $proj_id]);
}
public function unitExcelExport($proj_id)
{
return Excel::download(new UnitExport($proj_id), 'Unit.xlsx');
}
}
当尝试这个时,它说我收到一条错误消息:
Declaration of
App\Http\Controllers\Developer\Admin\UnitExport::collection($proj_id)
must be compatible with
Maatwebsite\Excel\Concerns\FromCollection::collection()
您不能将参数直接传递给您的收集函数。试试这个。
class UnitExport implements FromCollection
{
protected $proj_id;
public function __construct($proj_id)
{
$this->proj_id = $proj_id;
}
public function collection()
{
return Unit::where('project_id', $this->proj_id)->get();
}
}
我正在尝试传递参数来过滤要导出到 Excel 的数据。
这是我的代码:
class UnitExport implements FromCollection
{
public function collection($proj_id)
{
return Unit::where('project_id', $proj_id);
}
}
class UnitController extends Controller
{
public function index($proj_id)
{
return view('dev-admin.projects.units.index', ['proj_id' => $proj_id]);
}
public function unitExcelExport($proj_id)
{
return Excel::download(new UnitExport($proj_id), 'Unit.xlsx');
}
}
当尝试这个时,它说我收到一条错误消息:
Declaration of App\Http\Controllers\Developer\Admin\UnitExport::collection($proj_id) must be compatible with Maatwebsite\Excel\Concerns\FromCollection::collection()
您不能将参数直接传递给您的收集函数。试试这个。
class UnitExport implements FromCollection
{
protected $proj_id;
public function __construct($proj_id)
{
$this->proj_id = $proj_id;
}
public function collection()
{
return Unit::where('project_id', $this->proj_id)->get();
}
}