2017-08-29 8 views
1
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('[email protected]', '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> 

ich jeder Benutzer erwarten, dass eine E-Mail sollte E-Mail zusammen mit main_user und jeden Benutzer erhalten confirmation_link haben, die Überprüfung der gleichen ihm/ihr ermöglichen. Angewandter Code funktioniert aber nur für Single/First User nicht für andere. schlagen Sie bitteBenutzer erlauben, mehrere Benutzer zu senden über eine Funktion Laravel

vor
+0

Haben Sie ein geprüftes Fehlerprotokoll ODER kann ein Problem mit anderen E-Mails sein, versuchen Sie zuerst mit 'send()' zu überprüfen, ob es funktioniert? –

+0

E-Mail funktioniert gut gehen zu jedem Benutzer, aber dasselbe sollte es anders sein, d. H. Hallo {{$ name}}, und Connect Amy

+0

Also was ist, wenn Sie 'Mail :: send' in die Schleife? Es sollte funktionieren –

Antwort

0

Ich nehme an, dass Sie gerade versuchen, die Post unter Verwendung des dynamischen Schleifens ohne Verzögerungsoperation zu senden. Wenn dies richtig ist, unter Code folgen:

In Controller:

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('[email protected]', 'Myemail'); 
      $message->to($toEmail, $toName)->subject('Yes - connect us'); 
     }); 
    } 
} 

In Blade:

Hi {{$name}}, 

<td>{{$master_name}} has requested you to connect with us!</td> 

<a href="{{$link_confirmation_code}}">Connect</a> 

Stellt sicher, dass $toEmail und $toName, da es keine Definition ist gegeben so stelle es als Annahme dar.

+0

Hervorragend, dass Sinn für mich auch gut, ich werde in meinem Code verwenden wird überprüfen – Amy

Verwandte Themen