gpt4 book ai didi

Laravel - 事件开始时发送通知

转载 作者:行者123 更新时间:2023-12-02 16:35:19 25 4
gpt4 key购买 nike

我开发了一个小事件系统。通过创建新事件,可以将事件开始日期设置为将来的日期。

在本例中,我尝试向用户(该事件的参与者)发送事件已开始的通知。我该如何解决这个问题?

我尝试了类似的调度和自己的服务提供商:

$challenges = Auth::User()->challenges()->where('startdate', '<=', Carbon::now())->get();
foreach($challenges as $challenge) {

Notifynder::category('challenge.started')
->from(1)
->to(1)
->url(url("challenge/$challenge->slug"))
->send();

}

但是是的,所以每次都会发出通知..这不是一个好的解决方案。当事件开始日期从 future 切换到现在时,我只需要它们一次。

你有什么想法吗?非常感谢!

问候

最佳答案

就我个人而言,我只会在数据库中创建一个新字段来指示您是否发送了通知。如果您没有这样做,并且开始日期晚于现在,那么您想要发送通知并将标志设置为 1/true。

不过,您创建的解决方案并不是最好/性能最好的,因为现在您将在每个请求时查询数据库。更好的办法是创建一些 CRON 作业来定期检查此类事情。

欲了解更多信息,请查看: https://laravel.com/docs/5.2/scheduling

这将为您提供一些有关定期执行某些操作所需的基本信息。您可能还想阅读 Artisan Commands这样您就可以每 x 分钟运行一次。

关于Laravel - 事件开始时发送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34532134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com