我正在立即向所有会员发送电子邮件。现在我正在尝试向选定的用户发送电子邮件。我怎样才能做到这一点?
这是我现有的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
答案 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。