Laravel向所有选中的复选框发送电子邮件

时间:2018-03-30 12:10:46

标签: jquery laravel email checkbox laravel-5.5

我正在立即向所有会员发送电子邮件。现在我正在尝试向选定的用户发送电子邮件。我怎样才能做到这一点?

这是我现有的mailController

public function send_mail()
{
    $joinus = new Joinus;
    $mails = Joinus::all();
    $array = array();

    foreach ($mails as $mail)
    {
        array_push($array, $mail->email);

    };

    Mail::to($array)->send(new SendMail($joinus->email))->delay(60);

我从Joinus模型获得所有用户。将它们添加到阵列并将电子邮件发送到所有阵列子级。我需要将smt添加到SendMail吗?或者我必须使用jquery?如果有人给我代码示例,我会很高兴。这不是一个难题。但我只是没有成功。

这也是复选框的位置

@can('delete',app($dataType->model_name))
  <td>
    <input type="checkbox" name="row_id" id="checkbox_{{ $data->getKey() }}" value="{{ $data->getKey() }}">
   </td>
@endcan

1 个答案:

答案 0 :(得分:2)

您的send_mail()方法应更改为:

public function send_mail(Request $request)
{
    $mails = Joinus::whereIn('id', $request->input('row_id'))->pluck('email');
    Mail::to($mails)->send(new SendMail($joinus->email))->delay(60)
}

这将选择已检查ID的所有电子邮件(来自您的前端)。

您的input[type=checkbox] name属性应更改为row_id[],因此它是一个数组,并且有多个值(您的记录的ID?)。

并设置Laravel根据他们打算使用的驱动程序的文档发送电子邮件:more info at the official documentation