将数组传递到 laravel bcc 邮件列表

Pass array into laravel bcc mail list

我在尝试插入密件抄送列表和名称时收到未定义的变量错误。

  $query = DB::table('users')->get();
  $bcclist = "";
  $bccnamelist = "";
  foreach ($query as $key=>$user) {
    $bcclist .= $user->email.",";
    $bccnamelist .= $user->username.",";
  }

  $email = '';
  $data = Input::all();
  Mail::send('emails.buildsoftheweek', $data, function($message) use ($email){
    $message->to('admin@buildsanctuary.com', 'All Users')
            ->bcc("$bcclist", "$bccnamelist")
            ->subject(Input::get('emailsubject'));
   });

我怎样才能在这里做我想做的事?

这是一个可变范围问题。您必须将 $bcclist$bccnamelist 添加到 use():

Mail::send('emails.buildsoftheweek', $data, function($message) use ($email, $bcclist, $bccnamelist){
$message->to('admin@buildsanctuary.com', 'All Users')
        ->bcc("$bcclist", "$bccnamelist")
        ->subject(Input::get('emailsubject'));
});

此外,无需将这些变量放入字符串中。这也应该有效:

->bcc($bcclist, $bccnamelist)