将 Eloquent 数据传递到邮件 Job/Queue - Lumen/Laravel
Passing Eloquent data to Mail Job/Queue - Lumen/Laravel
我正在尝试使用 eloquent
模型将数据传递到 Lumen
中的 job
队列。
我遇到错误 trying to get property of non-object
这是我的工作class
<?php
namespace App\Jobs;
use App;
class CustomerSignupEmailJob extends Job
{
protected $getUser;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($getUser)
{
$this->user = $getUser;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//
$mailer = app()->make('mailer');
$mailer->send('emails.backend-customer-signup', ['user' => $this->getUser] , function ($message) {
$message->from('xxx@xxx.com', 'Laravel');
$message->to('xxx@gmail.com')->cc('xxx@yahoo.co.uk');
});
}
}
Mail
期望一个数组作为第二个数据
这是我的控制器代码;
$getUser = Customer::where('email', $email)->first();
$job1 = (new CustomerSignupEmailJob($getUser));
$this->dispatch($job1);
你可以看到我正在获取 Customer
作为 $getUser
并传递它。
这是我的电子邮件视图;
Customer First Name: {{$user->first_name}}
Customer Last Name: {{$user->last_name}}
Customer Email: {{$user->email}}
Customer Phone Number: {{$user->mobile_phone}}
Customer Address Line 1: {{$user->address_line1}}
Customer Address Line 2: {{$user->address_line2}}
Customer Address Line 3: {{$user->address_line3}}
Customer Location: {{$user->location_id}}
Customer City: {{$user->city_id}}
我对如何在 job class
中传递和访问数据感到困惑
任何建议表示赞赏。
在您的构造函数中更改
$this->user = $getUser
至
$this->getUser = $getUser
并在处理程序中使用队列。
$mailer->queue('emails.emailtemplate', $this->getUser , function ($message) {
$message->from('support@xxx.com', 'Laravel');
$message->to('xxx@gmail.com')->cc('xxx@yahoo.co.uk');
});
我正在尝试使用 eloquent
模型将数据传递到 Lumen
中的 job
队列。
我遇到错误 trying to get property of non-object
这是我的工作class
<?php
namespace App\Jobs;
use App;
class CustomerSignupEmailJob extends Job
{
protected $getUser;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($getUser)
{
$this->user = $getUser;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//
$mailer = app()->make('mailer');
$mailer->send('emails.backend-customer-signup', ['user' => $this->getUser] , function ($message) {
$message->from('xxx@xxx.com', 'Laravel');
$message->to('xxx@gmail.com')->cc('xxx@yahoo.co.uk');
});
}
}
Mail
期望一个数组作为第二个数据
这是我的控制器代码;
$getUser = Customer::where('email', $email)->first();
$job1 = (new CustomerSignupEmailJob($getUser));
$this->dispatch($job1);
你可以看到我正在获取 Customer
作为 $getUser
并传递它。
这是我的电子邮件视图;
Customer First Name: {{$user->first_name}}
Customer Last Name: {{$user->last_name}}
Customer Email: {{$user->email}}
Customer Phone Number: {{$user->mobile_phone}}
Customer Address Line 1: {{$user->address_line1}}
Customer Address Line 2: {{$user->address_line2}}
Customer Address Line 3: {{$user->address_line3}}
Customer Location: {{$user->location_id}}
Customer City: {{$user->city_id}}
我对如何在 job class
中传递和访问数据感到困惑
任何建议表示赞赏。
在您的构造函数中更改
$this->user = $getUser
至
$this->getUser = $getUser
并在处理程序中使用队列。
$mailer->queue('emails.emailtemplate', $this->getUser , function ($message) {
$message->from('support@xxx.com', 'Laravel');
$message->to('xxx@gmail.com')->cc('xxx@yahoo.co.uk');
});