这是我的代码:
namespace App;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notifiable;
class Customer extends Model
{
use Notifiable;
public function sendPasswordResetNotification($token)
{
$mail = (new MailMessage)
->line('You are receiving this email because we received a password reset request for your account.')
->action('Reset Password', url(config('app.url').route('password.reset', $token, false)))
->line('If you did not request a password reset, no further action is required.');
$this->notify($mail);
}
}
当我尝试运行它时,我收到错误:调用未定义的方法Illuminate \ Notifications \ Messages \ MailMessage :: via()
我不知道我应该在这里添加什么来使它工作。如果有帮助,Customer Class在数据库中有电子邮件列。
试试这段代码:
使用artisan创建一个sendPasswordResetNotification类
php artisan make:notification sendPasswordResetNotification
sendPasswordResetNotification类:
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
class sendPasswordResetNotification extends Notification
{
use Queueable;
public $token;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($token)
{
$this->token = $token;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
$mail = (new MailMessage)
->line('You are receiving this email because we received a password reset request for your account.')
->action('Reset Password', url(config('app.url').route('password.reset', $this->token, false)))
->line('If you did not request a password reset, no further action is required.');
}
}
现在您的客户模型如下所示:
namespace App;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notifiable;
use App\Notifications\sendPasswordResetNotification;
class Customer extends Model
{
use Notifiable;
public function sendPasswordResetNotification($token)
{
$this->notify(new sendPasswordResetNotification($token));
}
}
第二种使用控制器发送邮件的方法
Customer::find($id)->notify(new sendPasswordResetNotification($token));