我有一个管理方面,在我的拉威尔项目,管理员可以添加与印象和时间一起的广告。例如,如果我添加一个add,impression=2,hours=2。所以,一旦用户已经看了2次这个广告,那么用户将不会显示该广告在未来2小时。
以下是admin ads表的结构:
--------------------------------------
id | image |impressions| hours |
1 | image.png| 2 | 6 |
--------------------------------------
还有一个ads\u impression\u log,我存储了看过广告的用户的日志
---------------------------------------------
id | user_id | ad_id | impression_datetime |
1 | 1 | 1 | 2020-07-28 23:22:45 |
---------------------------------------------
我怎样才能创建一个laravel查询,以便我得到具体的广告印象计数,如果印象计数是在小时内显示给用户下一个广告。
这是我的第一个问题。所以,如果有错误,请忽略:)
1条答案
按热度按时间vybvopom1#
广告模式
用户模型
给定广告的给定用户($user\u id)的印象计数($user\u id)
我们将使用收集方法
filter
在这里。现在你可以计算这些印象了。
广告需要的印象。
你可以做相应的比较。
要从pivot表中获取impression\u date列,可以执行以下操作。