Laravel: передать массив из контроллера в mail :: to

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

Где я сейчас нахожусь:

$params = array(
'name' => $name, //user's data
'email' => $email,
'phone' => $phone,
'data' => $data, //other stuffs in the form
);

Mail::to($email)
->send(new pricequote($params));

И после этого как перейти от почтового класса к шаблону?

2

Решение

Ты можешь использовать;

namespace App \ Mail;

public function __construct($data)
{
$this->data = $data;
}

public function build()
{
return $this->view('emails.contacts')
->with(['data' => $this->data]);
}
1

Другие решения

Я предполагаю, что pricequote — это класс для отправки сообщений, тогда ваш класс для отправки ценовых предложений должен выглядеть следующим образом:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class pricequote extends Mailable
{
use Queueable, SerializesModels;

/**
* The data for the email instance.
*
* @var data
*/
protected $data;

/**
* Create a new message instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}

/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('yourview')
->with(['data' => $this->data]);
}
}

Затем в ваших контроллерах вы можете отправить электронное письмо следующим образом:

Mail::to("mail@email.com")->send(new pricequote($data));

Laravel 5.1:

Вы можете выбрать вид, который вы хотите отправить по электронной почте, например:

$params = array(
'name' => $name, //user's data
'email' => $email,
'phone' => $phone,
'data' => $data, //other stuffs in the form
);

Mail::send('view', $params, function($m){

$m->to($this->argument('to_email'));

});

Первый аргумент — это представление, а второй — данные, к которым вы хотите иметь доступ.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector