laravel发送邮件至

时间:2018-04-24 19:54:32

标签: laravel email message send

大家晚上好,我有一些问题,发送邮件给: 我在控制器中有一个代码,并且从带有连接的数据库中获取数据,这个$ survey变量显示给了我属于团队的调查的电子邮件。 但我需要一些如何发送电子邮件给我从$ survey变量获得的所有电子邮件。当我将$ survey变量放在$ message->中时($ survey);它显示了我未定义的变量

我的代码如下,我该如何使用它。当我输入 - > to();正常的一个电子邮件地址是有效的,但我需要向所有团队成员发送相同的电子邮件

public function startSurvey(Request $req) {

    $nameSurvey = $req->input('SurveySelectBox');
    $startDate = $req->input('surveyStartDate');
    $endDate = $req->input('surveyEndDate');

    $data = array(
        'updated_at' => Carbon::now(),
        'started_at' => $startDate,
        'ended_at' => $endDate
    );

    DB::table('survey')->where('surveyId','=',$nameSurvey)->update($data);

    $survey = Survey::where('surveyId' , '=', $nameSurvey)
        ->join('team','team.teamId', '=', 'survey.teamId')
        ->join('teammembersall','teammembersall.TeamId', '=', 'team.TeamId')
        ->join('users','users.id', '=', 'teammembersall.UserId')
        ->select('users.email')
        ->get();

    Mail::raw('You have new survey to answer: http://localhost:8000/profile', function ($message) {
        $message->from('kristijanask@gmail.com', 'New Survey released');
        $message->to($survey);
    });

    return redirect('surveyDrafts');
}

1 个答案:

答案 0 :(得分:0)

您需要使用use ($survey)来使用Mail匿名函数中的变量:

Mail::raw('...text', function ($message) use ($survey) {
    $message->from('kristijanask@gmail.com', 'New Survey released');
    $message->to($survey);
});

您可能还需要在查询结果中使用->pluck()toArray(),以使结果成为数组:

$survey = Survey::where('surveyId' , '=', $nameSurvey)
    // long query
    ->get()
    ->pluck('email')
    ->toArray();