如何解决Laravel Excel 导出
导出数据的时候,好像添加了导出的条件。因此,我创建了构造函数方法并从控制器传递数据。
public function __construct($company_pan,$user_pan)
{
$this->company_pan = $company_pan;
$this->user_pan = $user_pan;
}
public function collection()
{
return PurchaseDetail::where([
['pan_code',$this->user_pan],['s_pan','=',$this->company_pan]
])->get();
}
在控制器中,
public function export(Request $request)
{
$company_pan = $request->pan;
$user_pan = Auth::user()->pan_code;
return Excel::download(new ConfirmationExport($company_pan,$user_pan),'Confirmation.xlsx');
}
所有输出都是空白的excel。但是如果我将 s_pan 集合中的代码更改为
public function collection()
{
return PurchaseDetail::where([
['pan_code','303030333']
])->get();
}
它按预期导出数据。究竟是什么问题?
解决方法
您是否定义了类的属性?像这样吗?
<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
class ExampleExport implements FromCollection
{
protected $company_pan;
protected $user_pan;
public function __construct($company_pan,$user_pan)
{
$this->company_pan = $company_pan;
$this->user_pan = $user_pan;
}
public function collection()
{
return PurchaseDetail::where([
['pan_code',$this->user_pan],['s_pan','=',$this->company_pan]
])->get();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。