当前位置:  开发笔记 > 编程语言 > 正文

将变量推送到laravel上的通知视图中

如何解决《将变量推送到laravel上的通知视图中》经验,为你挑选了1个好方法。

我正在从laravel 5.2迁移到5.3,并且当用户想要重置密码时我想发送自定义文本.我现在看到,laravel使用通知,并且默认的"主题"在laravel核心中是硬编码的.我已经有了这个视图(从5.2开始),通知可以使用自定义视图,所以我尝试了这个:

在User.php(模型)中

/**
     * Send the password reset notification.
     *
     * @param  string  $token
     * @return void
     */
    public function sendPasswordResetNotification($token)
    {
        $this->notify(new SendLinkMailPasswordReset($token, $this->full_name));
    }

我创建了我的通知"SendLinkMailPasswordReset",用于"覆盖"laravel one和这里的toMail()方法:

/**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->view('auth.emails.password')
                    ->with
                    (
                        [
                            'user'=> $this->full_name,
                            'token'=> $this->token,
                        ]
                    );
    }

如果我这样做dd($this->full_name),它可以工作,但当我重置密码时,我得到了Undefined variable: user

我不知道是否with是正确的方法,或者我是否愿意做.有关信息,如果我在我的sendPasswordResetNotification

public function sendPasswordResetNotification($token)
    { 
        $to=$this->email;
        $user= $this;

        Mail::send('auth.emails.password', ['user'=>$user, 'token'=>$token], function($message) use ($to) {
            $message->to($to)->subject('Reset your password'); 
        } );

    }

有用.我对通知的使用是好还是在我的情况下我应该推送邮件?



1> Vikash..:

试试这个

 $user = $this->full_name;
 $token = $this->token;

 return (new MailMessage)
                ->view('auth.emails.password', compact('user','token'));

访问视图中的数据

{{ $user }}
{{ $token }}

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有