我需要将一些变量传递给我的发送电子邮件。
这是我的代码:
$data = [
'first' => $request->first,
'last' => $request->last,
'business_org' => $request->business_org,
'instagram' => $request->instagram,
'email' => $request->email,
'phone' => $request->phone,
'unique' => $request->unique,
'purchased' => $request->products_purchased,
'city' => $request->city,
'state' => $request->state,
'filename' => $fileName
];
// send email with details
Mail::send('emails.justshoot', $data, function($message) {
$message->from('us@something.com', 'Just Shoot Upload');
$message->to('myemail@gmail.com')->cc('myemail@gmail.com');
});
然后我尝试访问变量,以便可以在电子邮件中显示它。 emails.justshoot.blade.php
{{$data}}
给出错误。我在做什么错了?
答案 0 :(得分:3)
您对所做的事情完全满意,但是第二个参数是传递给视图的数据,就像使用with([])
方法调用视图一样,传递的数组将为每个数组生成一个对象。条目,然后根据您的操作生成$first, $last, $business_org
,而$data
只是数组的名称,因此不会将其作为元素传递给视图:如果需要,您应该将[$data]
传递给邮件send:
$data = [
'first' => $request->first,
'last' => $request->last,
'business_org' => $request->business_org,
'instagram' => $request->instagram,
'email' => $request->email,
'phone' => $request->phone,
'unique' => $request->unique,
'purchased' => $request->products_purchased,
'city' => $request->city,
'state' => $request->state,
'filename' => $fileName
];
// send email with details
Mail::send('emails.justshoot', [$data], function($message) {
$message->from('us@something.com', 'Just Shoot Upload');
$message->to('myemail@gmail.com')->cc('myemail@gmail.com');
});
,然后在视图中可以执行{{$data}}
提示:您应该使用php artisan创建邮件,然后就可以以更优雅的方式做任何您想做的事情