ldc-gen-game-web/app/Mail/PrizeWon.php

57 lines
1.3 KiB
PHP

<?php
namespace App\Mail;
use App\Models\Prize;
use App\Models\Settings;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class PrizeWon extends Mailable implements ShouldQueue
{
use Queueable;
use SerializesModels;
/** @var \App\Models\User */
private $user;
/** @var \App\Models\Prize */
private $prize;
/** @var \App\Models\Settings */
private $settings;
/**
* Create a new message instance.
*
* @param \App\Models\User $user
* @param \App\Models\Prize $prize
* @param \App\Models\Settings $settings
* @return void
*/
public function __construct(User $user, Prize $prize, Settings $settings)
{
$this->user = $user;
$this->prize = $prize;
$this->settings = $settings;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->subject(sprintf(
'Félicitations %s, vous avez remporté 1 %s !',
$this->user->firstname,
$this->prize->label
))
->view('front.basic.prize-mail')
->with(['user' => $this->user, 'prize' => $this->prize, 'settings' => $this->settings]);
}
}