我嘗試創建一個作業,以便向資料庫中的所有用戶發送電子郵件我已經完成了所有操作并成功連接到 Mailtrip,但仍然存在問題:(失敗)在執行命令時:
PHP artisan queue:work
這是我的 ProductEmail 類:
class ProductMail extends Mailable implements ShouldQueue
{
use Queueable, SerializesModels;
public $product;
public $user;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(Product $product, User $user)
{
$this->product = $product;
$this->user = $user;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->subject($this->product->name)
->view('email.product');
}
}
我已經為它創建了視圖>>>>
這里是作業類
class NotifyUsersForProduct implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public $product;
public function __construct(Product $product)
{
$this->$product = $product;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$users = User::all();
$users->map(function(User $user){
Mail::to($user)->send(new ProductMail($this->product, $user));
});
}
}
我在這里使用它
try {
$product = Product::create([
'name' => $request->input('name'),
'price' => $request->input('price'),
'quantity' => $request->input('quantity'),
'user_id' => Auth::id(),
]);
NotifyUsersForProduct::dispatch($product);
錯誤資訊:
uj5u.com熱心網友回復:
public function __construct(Product $product)
{
$this->$product = $product;
}
這應該是:
public function __construct(Product $product)
{
$this->product = $product;
}
洗掉 $ ,我也建議這樣做但不是必需的:
public function handle()
{
$users = User::all();
foreach($users as $user){
Mail::to($user)->send(new ProductMail($this->product, $user));
});
}
希望能幫助到你。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/496245.html
上一篇:格式化抓取的內容