我想将数据导出到$ id中的excel,但是当我在app/export/nilaiexport中添加构造函数时发生了错误。谢谢
nilaicontroller.php
function download($id){
return Excel::download(new NilaiExport, 'Nilai.xlsx');
}
nilaiexport.php
<?php
namespace AppExports;
use AppKhs;
use MaatwebsiteExcelConcernsFromCollection;
class NilaiExport implements FromCollection
{
/**
* @return IlluminateSupportCollection
*/
protected $id;
public function __construct($id) {
$this->id = $id;
}
public function collection()
{
return Khs::findOrFail($this->id);
}
}
function download($id){
return Excel::download(new NilaiExport($id), 'Nilai.xlsx');
}
您需要通过id
变量到构造函数方法,它确实在错误消息中说,它期望1个参数,但您没有提供一个。
如果参数是可选的,则构造函数的签名应看起来像这样
public function __construct($id = null) {
$this->id = $id;
}
,您将id
定义为
/**
* @var IlluminateSupportCollection|null
*/
protected $id;
您已经在Nilaiexport类中使用了构造函数,但是创建对象时不会传递参数类,可以使用以下代码。使用Blew
public $id;
public function __construct()
{
$this->id = app()->make($id);
}
而不是这个
public function __construct($id) {
$this->id = $id;
}