从 Laravel 可邮寄 class 传递变量以查看
pass variable from Laravel mailable class to view
我需要将用户对象和密码传递给 Laravel 可邮寄 class。我试了很多方法,似乎没有任何效果。这是我最近的尝试。
密码已正确传递到负载中。
控制器
Mail::to($user)
->queue(new EmployeeCreated($password));
可邮寄
class EmployeeCreated extends Mailable
{
use Queueable, SerializesModels;
public $password;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($password)
{
$this->password = $password;
$password = $password;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this
->subject('YOU ARE IN!')
->view('mail.employees.created')
->withPassword($password);
}
}
查看
You got your account. Got to {{url('/login')}}. Use e-mail as username. Your password is {{$password}}.
错误信息
ErrorException: Undefined variable: password in /var/www/html/storage/framework/views/4c04e63464617b1ec451525800e71aa14d7540d4.php:1
直接将它们作为类型提示的构造函数参数传递,您可以定义的数量不受限制。将访问修饰符设置为 public:
public $user;
public $password;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(User $user, $password)
{
$this->user = $user;
$this->password = $password;
}
any public property defined on your mailable class will automatically be made available to the view.
试试这个:
class EmployeeCreated extends Mailable
{
use Queueable, SerializesModels;
public $user,$password;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($params)
{
$this->user = $params['user'];
$this->password = $params['password'];
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this
->subject('YOU ARE IN!')
->view('mail.employees.created');
}
}
您可以像这样在 Mailable 中显式传递变量:
...
public function build()
{
return $this->view('emails.myview')->with(['variable' => $this->variable]);
}
...
我认为构建函数中的问题
试试,
public function build()
{
return $this
->subject('YOU ARE IN!')
->view('mail.employees.created')
->with('Password',$password);
}
我需要将用户对象和密码传递给 Laravel 可邮寄 class。我试了很多方法,似乎没有任何效果。这是我最近的尝试。
密码已正确传递到负载中。
控制器
Mail::to($user)
->queue(new EmployeeCreated($password));
可邮寄
class EmployeeCreated extends Mailable
{
use Queueable, SerializesModels;
public $password;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($password)
{
$this->password = $password;
$password = $password;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this
->subject('YOU ARE IN!')
->view('mail.employees.created')
->withPassword($password);
}
}
查看
You got your account. Got to {{url('/login')}}. Use e-mail as username. Your password is {{$password}}.
错误信息
ErrorException: Undefined variable: password in /var/www/html/storage/framework/views/4c04e63464617b1ec451525800e71aa14d7540d4.php:1
直接将它们作为类型提示的构造函数参数传递,您可以定义的数量不受限制。将访问修饰符设置为 public:
public $user;
public $password;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(User $user, $password)
{
$this->user = $user;
$this->password = $password;
}
any public property defined on your mailable class will automatically be made available to the view.
试试这个:
class EmployeeCreated extends Mailable
{
use Queueable, SerializesModels;
public $user,$password;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($params)
{
$this->user = $params['user'];
$this->password = $params['password'];
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this
->subject('YOU ARE IN!')
->view('mail.employees.created');
}
}
您可以像这样在 Mailable 中显式传递变量:
...
public function build()
{
return $this->view('emails.myview')->with(['variable' => $this->variable]);
}
...
我认为构建函数中的问题 试试,
public function build()
{
return $this
->subject('YOU ARE IN!')
->view('mail.employees.created')
->with('Password',$password);
}