我没能让邮箱排队.我不确定哪里出了问题,因为我一直收到错误.
‘ArgumentCountError:函数的参数太少 App\Mail\TransactionSuccess::__Construct()‘.
我想要做的是在发送邮箱时传递$trx
变量.
TestController.php个
class TestController extends Controller
{
public function sendtrx(){
$trx = Transaction::find('123');
dispatch(new TrxEmailJob($trx));
}
}
Jobs/TrxEmailJob.php个
class TrxEmailJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $trx;
public function __construct(Transaction $trx)
{
$this->trx = $trx;
// dd( $this->trx);
}
public function handle()
{
Mail::to($this->trx['user_email'])->send(new TransactionSuccess());
}
}
Mail/TransactionSuccess.php个
class TransactionSuccess extends Mailable
{
use Queueable, SerializesModels;
public $trx;
public function __construct(Transaction $trx)
{
$this->trx = $trx;
}
public function build()
{
return $this->view('Hey Test')
->markdown('emails.transactionsuccess');
}
}
我希望发送一封邮箱,其中包含$TRX的详细信息;然而,根据表,该作业(job)失败了.
ArgumentCountError:函数的参数太少 App\Mail\TransactionSuccess::__Construct(),传入0 /USERS/嘿/Testcode/app/Jobs/TrxEmailJob.php位于第37行和第1行 预计在/Users/hey/testcode/app/Mail/TransactionSuccess.php:20中 堆栈跟踪: