允许用户通过一个功能层

时间:2017-08-29 05:36:37

标签: php laravel

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一起收到电子邮件,并且每个用户都有确认链接,允许他/她验证相同的内容。应用代码但仅适用于单个/第一个用户而不适用于其他用户。请建议

1 个答案:

答案 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,因为没有给出定义,所以请将其作为假设。