отправка случайных идентификаторов — электронная почта Laravel

Добрый день

Я использую Mailgun для отправки электронных писем пользователям с необходимой информацией из заказа после отправки формы, мне удалось отправить тему и адрес электронной почты, но у меня возникают проблемы при отправке случайного числа, которое присваивается при создании приказ.

вот мой контроллер:

public function store(Request $request)
{
$order = $user->orders()->create([

'randomid' => rand(100000,999999),
'subject' => $request->get('subject'),
'email' => $request->get('email'),
]);

$data = $request->only('subject', 'email', 'randomid');

Mail::send('emails.note',
$data
, function($message) use ($data)
{
$message->subject('New Order: '.$data['subject'])
->from('[email protected]')
->to($data['email']);
});
}

0

Решение

Я видел, что вы получаете $ data из объекта запроса

$data = $request->only('subject', 'email', 'randomid');

но randomid был сгенерирован в созданном методе

    $order = $user->orders()->create([

'randomid' => rand(100000,999999),
'subject' => $request->get('subject'),
'email' => $request->get('email'),
]);

Так что нет randomid в запросе.

Я думаю, что вы должны получить $ data из $ order, как показано ниже:

$data = $order->toArray();

Итак, у вас будет:

public function store(Request $request)
{
$order = $user->orders()->create([

'randomid' => rand(100000,999999),
'subject' => $request->get('subject'),
'email' => $request->get('email'),
]);

$data = $order->toArray();

Mail::send('emails.note',
$data
, function($message) use ($data)
{
$message->subject('New Order: '.$data['subject'])
->from('[email protected]')
->to($data['email']);
});
}
0

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

randomid не приходит из запроса. Вы генерируете его значение вручную, используя rand(100000,999999) !

Пожалуйста, попробуйте это:

public function store(Request $request){
$data = [
'randomid' => rand(100000, 999999) ,
'subject' => $request->input('subject') ,
'email' => $request->input('email')
];
$order = $user->orders()->create($data);
Mail::send('emails.note', $data, function ($message) use($data) {
$message->subject('New Order: ' . $data['subject'])
->from('[email protected]')->to($data['email']);
});
}
0

По вопросам рекламы [email protected]