Как мне передать свои данные в очередь Queue что бы при обработке очереди в методе handle() - производились операции над ними? Пробую кидать как в примере но данные мои только из последней очереди показывает, тоесть если элемент в очереди 1 то все хорошо, но если больше то только последний $my_data выводится.
class SendReminderEmail extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
protected $my_data;
public function __construct($my_data)
{
$this->my_data = $my_data;
}
public function handle()
{
echo $my_data;
}
}
На примере отправки письма, в контролере:
$data['template'] = 'emails.message';
$data['to'] = config('mail.notification.address');
$data['subject'] = $request->input('topic');
$data['email'] = $request->input('email');
$data['topic'] = $request->input('topic');
$data['body'] = $request->input('body');
$job = (new SendEmailJob($data))->onQueue('email');
dispatch($job);
В задаче
class SendEmailJob extends Job
{
/**
* @var array
*/
protected $data;
/**
* SendEmailJob constructor.
* @param array $data
*/
public function __construct(array $data)
{
$this->data = $data;
}
/**
* @return mixed
* @throws \Exception
*/
public function handle()
{
$data = $this->data;
$body = view($data['template'], $data)->render();
try{
$transport = \Swift_SmtpTransport::newInstance(config('mail.host'), config('mail.port'), config('mail.encryption'))
->setUsername(config('mail.username'))
->setPassword(config('mail.password'));
$mailer = \Swift_Mailer::newInstance($transport);
$message = \Swift_Message::newInstance($data['subject'])
->setFrom([config('mail.from.address') => config('mail.from.name')])
->setTo([$data['to']])
->setBody($body,'text/html');
return $mailer->send($message);
}
catch(\Exception $e){
throw new \Exception($e->getMessage());
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Помогите распарсить строку по датеПоступает текст где в начале каждого сообщения указана дата
Есть форма, после ввода в форму адрес сайта выполняется кодЯ хочу узнать размер файла в браузере через filesize()
Господа, не работает перенос строки в php модуле mailОн тупо пишет в одну строчку, выдавая тег переноса в теле письма