【发布时间】:2019-10-19 02:52:37
【问题描述】:
在调度作业之前,我运行了一个雄辩的查询,连接三个表并从每个表中选择数据。我将结果传递给作业构造函数并将其分配给 $this->data 但我相信 SerializesModels 特征正在删除所有连接数据,因为:
由于作业使用的 SerializesModels 特征,Eloquent 模型将在作业处理时优雅地序列化和反序列化。如果您的队列作业在其构造函数中接受 Eloquent 模型,则只有模型的标识符将被序列化到队列中。实际处理作业时,队列系统会自动从数据库中重新检索完整的模型实例。
因此,当我在句柄方法中使用 $this->data 时,所有连接的数据都消失了,因为队列系统重新检索了模型实例。
如何阻止这种情况发生?我不想重新运行已经运行的查询。
【问题讨论】:
标签: php laravel-5 laravel-queue