Ich verwende SendGrid SMTP, um Mail über meine Site zu senden. Ich verwende auch den SendGrid-Ereignis-Webhook, um alle geöffneten/klickenden/unberechenbaren Daten aufzuzeichnen.Suchen Sendgrid eindeutig öffnet mit Laravel
SendGrid Tracks einzigartige öffnet auf ihrem internen Dashboard und ich möchte meine Benutzer die gleichen Informationen zeigen.
Schema
------------------------------------------
userId | emailId | msg_email | event|
------------------------------------------
1 | 27898 | [email protected] | open |
Grundsätzlich muss ich mit allen Datensätzen finden:
Ereignis == "öffnen"
wo userId == $ userId
zählen distinct ms g_email für jede emailId.
Ich bin ganz fest, aber ich denke, die Art und Weise, diesen zu Ansatz ist es, eine Abfrage auszuführen, die alle E-Mails für die Benutzer-ID und mit Ereignis packt == „öffnen“. Gruppiere sie per EmailId.
$query = EmailStats::where('userId', '=', $userId)
->where('event', '=', 'open')
->groupBy('emailId')
->get();
Dann Schleife durch jede Gruppe und greifen Sie die Anzahl der verschiedenen E-Mail-Adressen.
Ich kann nicht herausfinden, wie man durch jede "Gruppe" durchläuft, um die unterschiedliche E-Mail-Adresse zu finden.
Gibt es einen anderen Ansatz, den ich in Betracht ziehen sollte?