我正在尝试将数据从控制器传递到邮件类,但是由于某些原因它无法正常工作。
问题应该在变量传递中,但是我没有任何错误消息。
控制器代码:
$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视图中的数据
答案 0 :(得分: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()
中定义)进行访问。
答案 1 :(得分:0)
毕竟我只是愚蠢,在markdown文件中打错了字,这就是我的markdown的外观:
@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