查找Sendgrid独特功能随Laravel打开

时间:2016-06-06 23:10:59

标签: laravel sendgrid

我正在使用SendGrid SMTP通过我的网站发送邮件。我还使用SendGrid事件webhook来记录所有打开/点击/跳出。

SendGrid在其内部信息中心跟踪唯一的打开,我想向用户显示相同的信息。

模式

------------------------------------------
userId | emailId | msg_email      | event|
------------------------------------------
   1   |  27898  | test@test.com  | open |

基本上,我需要找到所有记录:

  1. 活动==“开放”

  2. 其中userId == $ userId

  3. 为每个emailId计算不同的msg_email。

  4. 我完全陷入困境,但我认为解决这个问题的方法是运行一个查询来抓取userId的所有电子邮件,并使用event ==“open”。通过emailId对它们进行分组。

    $query = EmailStats::where('userId', '=', $userId)
                        ->where('event', '=', 'open')
                        ->groupBy('emailId')
                        ->get();
    

    然后遍历每个组并获取不同电子邮件地址的计数。

    我无法弄清楚如何遍历每个“群组”以找到不同的电子邮件地址。

    我应该考虑另一种方法吗?

1 个答案:

答案 0 :(得分:0)

Laravel有一个Collection方法“Unique”来做到这一点。我找到它后非常容易:

>>> new_dict['time'][0]
[1]