简体   繁体   中英

Laravel Mailables - Send Collection to View

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?

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));
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM