很少有争论函数应用程序 enfort nilaiexport :: __ construct(),0在第112行中



我想将数据导出到$ 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;
    }

最新更新