如何在邮件通知laravel上添加条件? [英] How can I add condition on mail notification laravel?
本文介绍了如何在邮件通知laravel上添加条件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用laravel 5.3
I use laravel 5.3
我的通知laravel像这样:
My notication laravel like this :
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Notifications\Messages\BroadcastMessage;
class GuestRegistered extends Notification implements ShouldBroadcast, ShouldQueue
{
use Queueable;
private $data;
public function __construct($data)
{
$this->data = $data;
}
public function via($notifiable)
{
return ['mail'];
}
public function toMail($notifiable)
{
return (new MailMessage)
->subject('test')
->greeting('Hi')
->line('Thanks')
->line('Your password : '.$this->data)
->action('Start Shopping', url('/'));
}
}
我想在toMail方法中添加条件
I want to add condition in toMail method
因此,如果$this->data
不存在,则->line('Your password : '.$this->data)
不显示或不执行
So if $this->data
not exist then ->line('Your password : '.$this->data)
not display or not executed
我该怎么办?
推荐答案
您可以将MailMessage
实例存储为变量,使用if
语句然后将其返回.
You can store the MailMessage
instance as a variable, use an if
statement and then return it.
public function toMail($notifiable)
{
$mailMessage = new MailMessage();
$mailMessage
->subject('test')
->greetings('Hi')
->line('Thanks');
if($this->data) {
$mailMessage->line('Your password: ' . $this->data);
}
$mailMessage->action('Start Shopping', url('/'));
return $mailMessage;
}
请不要忘记为$data
参数添加默认值.
Don't forget adding a default value for the $data
parameter.
public function __construct($data = null)
{
$this->data = $data;
}
这篇关于如何在邮件通知laravel上添加条件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文