Передача переменных из контроллера в почтовый класс - Laravel - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь передать данные с моего контроллера в почтовый класс, но по некоторым причинам это не сработает.

Проблема должна быть где-то в передаче переменных, но у меня нет сообщений об ошибках.

Код контроллера:

$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');
}

Я хотел бы получить доступ к данным в электронной почте. Упорядоченный вид

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019
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 голосов
/ 09 февраля 2019

В конце концов я был просто глуп и сделал опечатку в моем файле уценки, вот как должна выглядеть моя уценка:

@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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...