public function exportCabinetOrder() :JsonResponse{ $id = 请求('id', ''); $orderBoxDetails = CabinetOrder::with('orderDetails.inboundOrderDetails.orderDetail.details')->find($id); $orderDetails = $orderBoxDetails->订单详细信息->入站订单详细信息->订单详细信息; $details = []; foreach ($orderDetails as $orderDetail) { $details[] = $orderDetail->详细信息; } 返回 $this->resSuccess($details); } 新增导出为表格功能
时间: 2024-04-23 12:27:52 浏览: 44
要新增导出为表格的功能,你可以使用第三方库来帮助你生成表格。以下是一个示例代码,通过将订单详情导出为表格文件(如CSV)返回给前端:
```php
use Maatwebsite\Excel\Facades\Excel;
use App\Exports\OrderDetailsExport;
public function exportCabinetOrder(): JsonResponse
{
$id = request('id', '');
$orderBoxDetails = CabinetOrder::with('orderDetails.inboundOrderDetails.orderDetail.details')->find($id);
$orderDetails = $orderBoxDetails->orderDetails->inboundOrderDetails->orderDetail->details;
$details = [];
foreach ($orderDetails as $orderDetail) {
$details[] = $orderDetail->details;
}
// 导出为表格文件
return Excel::download(new OrderDetailsExport($details), 'order_details.csv');
}
```
在上面的代码中,我们使用了`Maatwebsite\Excel`库来生成表格文件。首先,确保你已经安装该库,并将其添加到你的`composer.json`文件中。
然后,我们创建了一个`OrderDetailsExport`类,用于导出订单详情。你需要在你的项目中创建这个类,并在`export()`方法中编写逻辑来生成表格数据。
接下来,我们使用`Excel::download()`方法来将生成的表格文件下载到前端。这里假设你希望将文件命名为`order_details.csv`,可以根据需要修改文件名和格式。
请注意,这只是一个示例代码,并不包含完整的实现细节。你需要根据你的项目需求进行适当的调整和完善。同时,确保在控制器中引入了相关的命名空间和类。
阅读全文
相关推荐


















