将变量从控制器传递到邮件类 - Laravel

问题描述 投票:0回答:2

我正在尝试将数据从我的控制器传递到邮件类,但由于某些原因它不起作用。

问题应该在变量传递的某处,但我没有任何错误消息。

控制器代码:

$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视图中的数据

laravel email variables controller
2个回答
1
投票
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()中定义)访问。


0
投票

毕竟我只是愚蠢而且在我的降价文件中输错了,这是我的降价看起来的样子:

@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
© www.soinside.com 2019 - 2024. All rights reserved.