Я установил почтовую программу в приложении Laravel 5.6, но изо всех сил пытаюсь передать переменные в представление, мой контроллер welcome.php выглядит так ...
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class Welcome extends Mailable
{
use Queueable, SerializesModels;
public $user;
public function __construct()
{
$this->user = $user;
}
public function build()
{
return $this->view('emails.welcome');
}
}
Любой мой взгляд выглядит так ..
Your registered email-id is {{$user->email}}
Я вызываю контроллер электронной почты после того, как пользователь будет создан таким образом ...
$user->save();
Mail::to($user->email)->send(new Welcome($user));
Я получаю сообщение об ошибке, в котором говорится, что неопределенная переменная: пользователь
Где я ошибаюсь?






Ваш конструктор не принимает никаких переменных ...
public function __construct()
{
$this->user = $user;
}
Измените его на:
public function __construct($user)
{
$this->user = $user;
}
Или вы можете ввести подсказку вот так:
use App\User;
...
public function __construct(User $user)
{
$this->user = $user;
}
Редактировать почтовый файл тура
public function __construct($user)
{
$this->user = $user;
}
public function build()
{
return $this->view('emails.welcome')->with(['user' => $this->user]);
}
Спасибо, именно то, что мне было нужно!