Ada*_*dam 4 parameters excel push laravel
将 id 变量传递给“where”请求,以获取与 id 匹配的数据库条目,并使用 Laravel Excel 将这些条目导出到 Excel 表。我似乎找不到传递变量的方法。
我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Exports\MttRegistrationsExport;
use Maatwebsite\Excel\Facades\Excel;
class ExcelController extends Controller
{
public function export($id)
{
return Excel::download(new MttRegistrationsExport, 'MttRegistrations.xlsx', compact('id'));
}
}
Run Code Online (Sandbox Code Playgroud)
我的导出文件:
<?php
namespace App\Exports;
use App\MttRegistration;
use Maatwebsite\Excel\Concerns\FromCollection;
class MttRegistrationsExport implements FromCollection
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return MttRegistration::where('lifeskill_id',$id)->get()([
'first_name', 'email'
]);
}
}
Run Code Online (Sandbox Code Playgroud)
我的路线:
Route::get('/mtt/attendance/{id}',[
'as' => 'mtt.attendance',
'uses' => 'ExcelController@export']);
Run Code Online (Sandbox Code Playgroud)
小智 19
通过将 id 传递到 MttRegistrationsExport 类来进行修改。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Exports\MttRegistrationsExport;
use Maatwebsite\Excel\Facades\Excel;
class ExcelController extends Controller
{
public function export(Request $request)
{
return Excel::download(new MttRegistrationsExport($request->id), 'MttRegistrations.xlsx');
}
}
Run Code Online (Sandbox Code Playgroud)
现在让我们设置一个构造函数,以便您可以将一个 id 传递给 MttRegistrationsExport 类。
<?php
namespace App\Exports;
use App\MttRegistration;
use Maatwebsite\Excel\Concerns\FromCollection;
class MttRegistrationsExport implements FromCollection
{
protected $id;
function __construct($id) {
$this->id = $id;
}
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return MttRegistration::where('lifeskill_id',$this->id)->get()([
'first_name', 'email'
]);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16155 次 |
| 最近记录: |