Laravel 5.2-将数据传递到电子邮件视图

时间:2016-04-12 09:37:30

标签: php laravel laravel-5.2

我想使用laravel Mail通过邮件发送一些用户详细信息。 但是当我点击发送邮件按钮时,它说的是跟随错误。

  

f007458b7fd9880a4f1d9bd9b684d2f236a70b32.php第8行中的ErrorException:   试图获得非对象的属性(查看:   C:\ XAMPP \ htdocs中\ laravel-角色\资源\视图\ mail.blade.php)

这是控制器:

winston.transports.DailyRotateFile is not a function

这是路线:

 public function sendEmail($id)
    {
        $user = User::findOrFail($id);

        Mail::send('mail', ['user' => $user], function ($m) use ($user) {
              $m->from('xxx@gmail.com', 'xxx');

            $m->to($user->email, $user->name)->subject('Thanks!');
        });
    }

这是mail.blade.php文件:

Route::get('/sendMail/{id}',[
        'uses' =>'AppController@sendEmail',
        'as' =>'sendMail',
        'middleware'=>'roles',
        'roles'=>['Admin']
        ]);

以下是视图页面中的邮件发件人按钮:

    <html>
    <head></head>
    <body>
        Dear,
            Thanks for registering for the course.
            Login Details:
            @foreach($user as $row)
            UserName: {{$row->email}}
            Password: {{$row->phone}}
            @endforeach
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

您尝试访问的路由不存在。它很可能与您的邮件功能无关。

请检查路线文件或在此处发布,并告知我们您正在访问的路线。

答案 1 :(得分:0)

在您的控制器中,您使用了:

$user = User::findOrFail($id);

哪个应返回单个用户对象!

这意味着在您的视图中,您不能将foreach用于该用户。要访问该用户数据,您只需编写

即可
Login Details:
UserName: {{$user->email}}
Password: {{$user->phone}}

那应该适合你。