【发布时间】:2018-07-26 06:32:49
【问题描述】:
我正在尝试使用简单的数据库队列驱动程序发送邮件。队列工作正常,但问题在于邮件内容。当我使用 send() 方法发送电子邮件时,一切都很好。内容是应该的,但是当尝试使用队列时,内容不是应该的,我从这段代码的第二行获取内容(但在排队邮件之前的第二行之后内容发生了变化):
$mail->textPlain = strip_tags($request->content);
$mail->textHtml = base64_encode($request->content);
$mail->date = date("Y-m-d H:i:s");
$mail->save();
//This mail content will be sent
$thread = $this->getThread($ticket, $request->content);
$mail->textPlain = strip_tags($thread);
$mail->textHtml = base64_encode($thread);
Email::to($ticket->from)->queue(new Reply($mail));
使用队列时,我附加 $mail 对象的那部分未显示在最终消息中,最终消息是 - $mail->textHtml = base64_encode($request->content);。
但应该是-
$thread = $this->getThread($ticket, $request->content);
$mail->textPlain = strip_tags($thread);
$mail->textHtml = base64_encode($thread);
$mail 是来自 Mail 模型的对象。
流程:我将输入的最后一个回复存储在数据库中,但传递给收件人的最终回复消息是线程中的所有消息。
reply.blade.php
{!! base64_decode($reply->textHtml) !!}
【问题讨论】:
-
当模型排队时,基本上只存储一个标识符,当作业被处理时,它会从数据库中重新加载..任何没有被持久化的东西在检索时都不会在那里
-
所以我只能排队保存的模型?