Laravel 5.6 - Невозможно передать переменную в представление электронной почты

Я установил почтовую программу в приложении 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));

Я получаю сообщение об ошибке, в котором говорится, что неопределенная переменная: пользователь

Где я ошибаюсь?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
0
381
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ваш конструктор не принимает никаких переменных ...

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]);
}

Спасибо, именно то, что мне было нужно!

fightstarr20 02.08.2018 16:52

Другие вопросы по теме