在我的Laravel应用程序中,我有Users
和Posts
。我要做的是检查是否在用户注销时创建了任何帖子,然后显示类似于“这就是你错过的”这样的消息,类似于Twitter。
我正在考虑使用一个名为missed_content
的表来获取用户ID,模型和模型ID,我会为给定用户循环并显示错过的内容。
因此,如果帖子的created_at
日期在用户的last_login_at
日期之后,则计划任务将查找新内容并向此表添加行。
然后,当用户登录时,我将显示内容并更新last_login_at
。
我担心的是,这是否可扩展,好像有一百万用户错过了20个帖子,即2000万条记录。
为什么不在用户上进行最后一次登录。然后获取自该日期以来所有帖子?
$posts = Post::where('created_at', '<=', Auth::user()->last_sign_in)->get()
在你的刀片中,你可以数数
<p>You have missed: {{ $posts->count() }} posts</p>
你不需要额外的桌子