dongliping003116 2017-05-01 17:05 采纳率: 0%
浏览 68
已采纳

Laravel Mailables - 发送集合到视图

I am using Laravel 5.4 Mailables and cannot pass data from my collection to the view.

I have a collection of $users:

[
  0 => {
    "name": "Justin",
    "email": "justin@test.com",
    "passwordExpires": "7 days"
  }
  1 => {
    "name": "Max",
    "email": "max@test.com",
    "passwordExpires": "2 days"
  }   
]

Call mailable with a collection of users:

 Mail::to($users)->send(new PasswordExpiring());

But PasswordExpiring() does not have access to the current user being emailed. I could pass all users in the constructor but I have no way of knowing which one Mail is trying to send to.

How would I pass the current user data into my mailable view?

  • 写回答

1条回答 默认 最新

  • douxiang3978 2018-03-20 22:53
    关注

    I just added a for loop and send the emails one at a time.

    $users = $this->repo->getExpiring();
    
    foreach ($users as $user)
    {
        $mail_user = $this->transform($user);
        Mail::to($mail_user)->send(new PasswordExpiring($mail_user));
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?