【发布时间】:2020-01-10 13:38:09
【问题描述】:
我有一个疑问,我不知道如何发送参数,以便我的导出的收集功能使用该数据生成一个 excel。 我通过我的一个控制器的方法生成此查询
控制器是GenerateNumbersController.php,方法是validateNumberBD
我生成的查询如下:
$searchOrCreate = Phone::insertIgnore($consultArray);
if ($searchOrCreate) {
$phones = Phone::select('PHONES.PHONE','AREACODES.CODE')
->join('AREACODES','AREACODES.AREACODES_ID','=','PHONES.AREACODES_ID')
->where('DATE',$searchOrCreate)
->get();
}
该查询会生成一组数据,我需要发送这些数据以自动导出。
这是我的问题开始的地方,因为我不知道如何将该变量发送到 PhonesExport 类,该类生成导出到 Exce 的类
我尝试在 PhonesExport 类中创建一个名为 data ($ value) 的新函数,如下所示:
<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use App\Http\Controllers;
class PhonesExport implements FromCollection
{
public $data;
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
global $data;
return $data;
}
public function data($dato)
{
global $data;
$data = $dato;
}
}
并通过第一个代码的方法尝试生成该类的实例,然后通过相同的参数发送如下。
$searchOrCreate = Phone::insertIgnore($consultArray);
if ($searchOrCreate) {
$phones = Phone::select('PHONES.PHONE','AREACODES.CODE')
->join('AREACODES','AREACODES.AREACODES_ID','=','PHONES.AREACODES_ID')
->where('DATE',$searchOrCreate)
->get();
$excel = new PhonesExport();
$excel->data($phones );
\Excel::download($excel,'phones.xlsx');
}
但是在执行时它不会对我产生任何影响。
【问题讨论】:
标签: laravel eloquent laravel-5.8 laravel-excel