我有多个数据,我需要将整个数据发送到电子邮件中,有人可以帮我吗?
stdClass Object
(
[0] => stdClass Object
(
[post_id] => 1452
[No_Of_Workers] => 2
)
[1] => stdClass Object
(
[post_id] => 1445
[No_Of_Workers] => 1
)
)
我需要展示
Hi, Below are my data:
Post id: 1452
No of workers: 3
--------------------
Post id: 1445
No of workers: 1
如何发送数组以发送邮件数据?
这是我尝试的代码:
public function toMail($notifiable)
{
echo '<pre>';print_r($this->msg->data); die;
$mailMessage = (new MailMessage)
->replyTo($this->msg->email, 'Hi' . ' ' . 'Jaymin')
->subject('Daily Report email')
->line($this->msg->data);
echo '<pre>';print_r($mailMessage); die;
$mailMessage->line(nl2br('This is peace'));
return $mailMessage;
}
此line()
由我需要发送的电子邮件数据组成,我可以这样发送:
->line(t('Email Address') . ': ' . $this->msg->email);
但是我需要以上述格式发送它,有人可以帮助我吗?
答案 0 :(得分:2)
您最好为此使用markdown。您可以使用此artisan命令使用相关的markdown视图生成通知(在控制台的laravel项目的根目录中使用该通知)
php artisan make:notification DailyPostsReportNotification --markdown=mail.posts.report
这将创建两个文件:
App\Notifications\DailyPostsReportNotification.php
中的通知类resources\views\mail\posts\report.blade.php
中呈现的电子邮件视图在通知的toMail
方法中(如果尚未存在),您必须将数据传递到降价视图:
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Daily Report Email')
->replyTo($this->msg->email)
->markdown('mail.posts.report', ['posts' => $this->msg->data]);
}
重要提示:使用变量或属性编辑$this->msg->data
(如果需要),在该变量或属性中您要在电子邮件中打印出数据数组,因为目前尚不清楚从您的代码中调用。
您现在可以使用markdown语法编辑电子邮件视图文件以显示正确格式的数据:
@component('mail::message')
Hi, below is my data:
@foreach ($posts as $post)
Post id: {{$post->post_id}}<br>
No of workers: {{$post->No_Of_Workers}}<br>
@unless ($loop->last)
--------------------<br>
@endunless
@endforeach
@endcomponent