Maatwebsite excel 不允许序列化 'PDO'

Maatwebsite excel Serialization of 'PDO' is not allowed

我正在尝试在 s3 上的队列中导出大数据并且不允许 'PDO' 的序列化异常/这是我的代码:

控制器

            $transactions = Transaction::query()
        ->with([
            'user',
            'user.profile',
            'senderUser',
            'receiverUser',
            'senderUser.roles',
            'receiverUser.roles'
        ])->filterByUser()
        ->filter($filters)
        ->orderByDesc('created_at');

    if (request()->export_transactions){
        (new TransactionsExport(auth('sanctum')->user(),$transactions))->store('transactions-exports/' . now()->format('d:m:Y') . '.csv', 's3', \Maatwebsite\Excel\Excel::CSV);

        return response()->json('Export started');
    }

导出文件

    class TransactionsExport implements FromQuery, WithMapping, WithHeadings, WithCustomQuerySize, ShouldQueue
{
    use Exportable;

    private $user;
    private $transactions;

    public function __construct(User $user, $transactions)
    {
        $this->user = $user;
        $this->transactions = $transactions;
    }

    /**
    * @return Builder
    */
    public function query()
    {
        return $this->transactions;
    }

    public function querySize(): int
    {
        return $this->transactions->count();
    }


    public function headings(): array
    {
        return [
          //headings
        ];
    }
    public function prepareRows($transactions): array
    {
        //code here
    }

    public function map($transaction): array
    {
        //code here
     
    }
}

我也试过像这样触发它(使用额外的参数,不使用和使用不同的允许方法(存储、下载等))

(new TransactionsExport(auth('sanctum')->user(),$transactions))->queue('transactions-exports/' . now()->format('d:m:Y') . '.csv', 's3', \Maatwebsite\Excel\Excel::CSV);

此外,我尝试将 Transaction::query() 直接移动到导出文件中的查询方法。 也没有帮助 toSql() 方法(调用成员函数 count() 出现字符串异常)

不知道我做错了什么。感谢您的帮助。

我已经通过在构造函数中删除 classes 的注入解决了这个问题,它不允许在作业中使用(队列/如果你需要一个 class 的对象,最好调用它喜欢 new Class()),现在一切正常。