2017-09-06 2 views
-1

ich verschiedene IDs mit Anfrage Array holen:senden mehrere E-Mails an verschiedene Benutzer in Laravel

<label for="students" class="students">Students</label> 
    <select name="students[]" class="form-control select2-multi" multiple="multiple"> 
    @foreach($students as $student) 
    <option value="{{ $student->id }}" >{{ $student->first_name }}</option> 
    @endforeach 
</select> 

Ich bin in der Lage, die IDs richtig zu erhalten. Nun die Frage ist, wie kann ich durch die Anfrage senden Mails an die gewählten Studenten (User)

Ich dachte an eine for-Schleife, aber ich scheint es nicht zu lösen. Danke Jungs

+0

das Frontend sollte nicht die E-Mails senden, es sollte Backend sein, das die E-Mail sendet. Bitte geben Sie weitere Informationen. – pseudoanime

Antwort

-1

Wenn Sie viele Studenten (mehr ein paar hundert) haben, empfehle ich Ihnen, Warteschlange verwenden. Für Laravel sehr viele Lösungen auf GiHub.

+0

Können Sie klarstellen, was Sie unter "Warteschlange verwenden" verstehen (vielleicht durch Hinzufügen von Links für weitere Informationen)? Und können Sie auch Beispiel-Links zu den Lösungen auf GitHub bereitstellen? – Aydin4ik

-1

In der Steuerung, die die Formularübermittlung behandelt, würden Sie die ausgewählten Benutzer durchlaufen und dann können Sie die Mail facade verwenden, um E-Mails über Ihren aktuellen E-Mail-Treiber zu senden.

public function formSubmission(Request $request){ 
    $emails = $request->input('students'); 
    foreach($emails as $email){ 
     \Mail::to($email)->send(new EmailMessage()); 
    } 
} 

Wenn Sie wollen Benutzer mit dieser E-Mail zuerst assoziiert zu finden, und dass an die Mail-Fassade passieren in, dann würden Sie tun einfach eine Abfrage und Schleife durch diese auch Ergebnisse.

public function formSubmission(Request $request){ 
    $emails = $request->input('students'); 
    $users = User::whereIn('email', $emails)->get(); 
    foreach($users as $user){ 
     \Mail::to($user)->send(new EmailMessage()); 
    } 
} 
Verwandte Themen