2 回答
TA贡献1794条经验 获得超8个赞
事实证明,因为我的查询有一个 groupBy 子句,我需要在导出类上实现自定义查询大小。我不明白为什么这是一个问题,但是在我添加之后,作业被添加到队列中并且处理得很好。所以我补充说:
use Maatwebsite\Excel\Concerns\WithCustomQuerySize;
class ExcelExport implements ...., WithCustomQuerySize
//......
public function querySize(): int
{
$query = //......
$size = $query->count();
return $size;
}
我希望这对某人有所帮助,这样他们就不必经历我所做的头痛。
TA贡献1830条经验 获得超3个赞
排队的可导出文件以块的形式处理;每个块都是由 QueuedWriter 推送到队列的作业。对于实现 FromQuery 问题的可导出文件,作业数是通过将 $query->count() 除以块大小来计算的。
#何时使用
根据 query() 方法的实现(例如,当使用 groupBy 子句时),前面提到的计算可能不正确。
如果是这种情况,您应该使用 WithCustomQuerySize 关注点来提供查询大小的自定义计算。
在此处阅读更多信息https://docs.laravel-excel.com/3.1/exports/queued.html#when-to-use
- 2 回答
- 0 关注
- 185 浏览
添加回答
举报