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

问题描述 投票:0回答:1

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

这是我现有的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
php jquery laravel email checkbox
1个回答
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 根据您打算使用的驱动程序的文档发送电子邮件:更多信息请参阅官方文档

© www.soinside.com 2019 - 2024. All rights reserved.