function sendEmail($user_id){
$ids = Input::get('system_id');
DB::setFetchMode(PDO::FETCH_ASSOC);
$send = DB::table('users')
->whereIn('user_id', $ids)->get();
$mainUser = User::where('user_id', $user_id)->first();
foreach($send as $value) {
$data = [
'master_name' => $mainUser['name'],
'master_id' => $mainUser->user_id,
'name' => $value->name,
'email' => $value['email'],
'link_confirmation_code' => $value['link_confirmation_code']
];
}
Mail::later(5, 'emails.send.confirm-user', $data, function($message) use ($emails, $names)
{
$message->from('no-reply@myemail.com', 'Myemail');
$message->to($emails, $names)->subject('Yes - connect us');
});
}
In blade
Hi {{$name}},
<td>{{$master_name}} has requested you to connect with us!</td>
<a href="{{ URL::to('v1/register/' . $link_confirmation_code) }}">Connect</a>
我希望每个用户都应该与main_user一起收到电子邮件,并且每个用户都有确认链接,允许他/她验证相同的内容。应用代码但仅适用于单个/第一个用户而不适用于其他用户。请建议
答案 0 :(得分:0)
我假设您只是尝试使用动态循环发送邮件而不进行延迟操作。如果这是正确的,请按照以下代码:
在控制器中:
function sendEmail($user_id){
$ids = Input::get('system_id');
DB::setFetchMode(PDO::FETCH_ASSOC);
$send = DB::table('users')
->whereIn('user_id', $ids)->get();
$mainUser = User::where('user_id', $user_id)->first();
foreach($send as $value) {
//Variable initializaation and setup operation...
$toEmail = $value->email;
$toName = $value->name;
$link_confirmation_code = url('v1/register/', [$link_confirmation_code]);
$data = [
'master_name' => $mainUser['name'],
'master_id' => $mainUser->user_id,
'name' => toName,
'email' => $toEmail,
'link_confirmation_code' => $link_confirmation_code
];
//Mail sendting operation...
Mail::send('emails.send.confirm-user', $data, function($message) use($toEmail, $toName) {
$message->from('no-reply@myemail.com', 'Myemail');
$message->to($toEmail, $toName)->subject('Yes - connect us');
});
}
}
在Blade中
Hi {{$name}},
<td>{{$master_name}} has requested you to connect with us!</td>
<a href="{{$link_confirmation_code}}">Connect</a>
只需检查$toEmail
和$toName
,因为没有给出定义,所以请将其作为假设。