将变量从控制器传递到邮件类 - Laravel
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将变量从控制器传递到邮件类 - Laravel相关的知识,希望对你有一定的参考价值。
我正在尝试将数据从我的控制器传递到邮件类,但由于某些原因它不起作用。
问题应该在变量传递的某处,但我没有任何错误消息。
控制器代码:
$send_data = [
"name" => $product->name,
"quantity" => $item->quantity,
"price" => $final_price
];
Mail::to($email)->send(new OrderMail($send_data));
邮件类:
class OrderMail extends Mailable
{
use Queueable, SerializesModels;
public $subject = "Úspešná objednávka";
public $send_data;
public function __construct($send_data)
{
$this->send_data = $send_data;
}
public function build()
{
$send_data = $this->send_data;
return $this->markdown('emails.ordered');
}
我想访问emails.ordered视图中的数据
答案
public function __construct($send_data)
{
$this->send_data = $send_data;
}
$this->send_data // this is a variable that you can use in view.
您可以通过$send_data
变量(在__construct()
中定义)访问。
另一答案
毕竟我只是愚蠢而且在我的降价文件中输错了,这是我的降价看起来的样子:
@component('mail::message')
<h1>Dobrý deň {{$buyer}}!</h1>
<p>Vaša objednávka bola spracovaná úspešne.<p>
@component('mail::table')
| Produkt | Počet ks. | Cena |
|:---------------:|:--------------------:|:------------------:|
@foreach($send_data as $item)
|{{$item["name"]}}| {{$item["quantity"]}}| {{$item["price"]}}€|
@endforeach
<p>V prípade osobného odberu si môžete vyzdvihnúť tovar na predajni s týmto
klúčom: {{$next_id}}</p>
@endcomponent
@endcomponent
以上是关于将变量从控制器传递到邮件类 - Laravel的主要内容,如果未能解决你的问题,请参考以下文章
Laravel:我正在尝试将变量从视图传递到控制器,但它返回 null