laravel 如何依据查询结果进行导出excel
1.思路
- 路由添加一个可选参数 例子 export?
- 然后根据控制器中的筛选结果进行判断参数是否可以进行导出
- 先判断可选参数 export是否存在如果存在进行导出excel表,否则的话就是返回前端的全部信息接口
2.逻辑示例
示例路由
此路由代表参数export存在或不存在
用于定义存在的时候只导出excel,不存在的时候显示返回前端的全部信息
Route::get('students/{export?}', 'StudentsController@index');
示例业务逻辑
#$export参数默认设置为空
public function index(Request $request, $export = null)
{
#这里编写筛选条件业务逻辑
}
//excel导出 如果不为空意味着是进行excel表的导出
if (!empty($export)) {
#使用事件进行导出表
event(new ExportStudentsStatisticalExcel(这里传参筛选出的集合));
} else {
#否则的花返回筛选条件业务逻辑
return $this->success($statistics);
}
}
excel这里不展示具体的导出业务逻辑,不懂的可以看我以前写的博客laravel事件&&excel导出
以上就是根据查询结果进行excel导出的逻辑思路,不懂的可以回复我