如何在控制器中发送参数以在 Laravel 8 邮件中查看

How Send parameter in controller to view in Laravel 8 Mail

我在 Laravel 8 中创建系统。如果它有选项管理员用户在系统内注册。我需要发送电子邮件以使用电子邮件创建用户,并且 passcode.i 我创建 php 邮件 class 的情况如下

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class RegisterMail extends Mailable
{
    use Queueable, SerializesModels;


    public function __construct()
    {
        //$this->data = $data; 
    }

    public function build()
    {
        return $this->markdown('emails.register')
               ->subject('Register SLeAgro Agricultural Product Distribution System');
    }
}

所以在用户创建控制器中我访问邮件 class 如下

     $data1 = [
               'email' => $request->email,
               'password' => $code
            ];
    
            $mail = new registerMail();
    
            Mail::to($request->email)->send($mail)

;

我的问题是如何将 $data1 数据发送到用户名和密码中查看?

@component('mail::message')
# Welcome SleAgro Agricultural Product Management System

you can loging to the system using following credetail .

User name :
<br> 
password : 

@component('mail::button', ['url' => 'http://127.0.0.1:8000/login'])
Login
@endcomponent

Thanks,<br>
{{ config('app.name') }}
@endcomponent

你能告诉我方法吗

试试这个代码

在 RegisterMail

    private $data;

    public function __construct($data) // <-
    {
        $this->data = $data; 
    }

    public function build()
    {
        return $this->markdown('emails.register',[ 'data' => $this->data])
               ->subject('Register SLeAgro Agricultural Product Distribution System');
    }

在控制器处

     $data1 = [
               'email' => $request->email,
               'password' => $code
            ];
    
     $mail = new RegisterMail($data1);
    
     Mail::to($request->email)->send($mail);

最后一点 blade,您可以像 blade 中的任何变量一样使用 $data 变量。