Я использую Lumen
и хочу знать, как пройти data
до моего job
класса. У меня есть класс job
, как показано ниже;Передача данных на почту Работа/Очередь - Lumen/Laravel
<?php
namespace App\Jobs;
use App;
use Illuminate\Contracts\Mail\Mailer;
class TestEmailJob extends Job
{
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle(Mailer $mailer)
{
//
$data; // I want to pass this from my function
$mailer->queue('emails.emailtemplate', $data , function ($message) {
$message->from('[email protected]', 'Laravel');
$message->to('[email protected]')->cc('[email protected]');
});
}
}
У меня тогда есть функция, которая будет толкать задание в очереди;
public function emailTest() {
$data = ['user' => $user];
Queue::push(new TestEmailJob);
}
Как я могу передать $data
и получить его и использовать его в job
классе?
И я просто передать его как это? 'Queue :: push (новый TestEmailJob ($ data));' –
Вы можете отправить его в очередь с вашего контроллера следующим образом: '$ this-> dispatch (new TestEmailJob ($ data));' –
Спасибо. Обновите свой ответ для других. –