Laravel - 显示错过的内容

问题描述 投票:0回答:1

在我的Laravel应用程序中,我有UsersPosts。我要做的是检查是否在用户注销时创建了任何帖子,然后显示类似于“这就是你错过的”这样的消息,类似于Twitter。

我正在考虑使用一个名为missed_content的表来获取用户ID,模型和模型ID,我会为给定用户循环并显示错过的内容。

因此,如果帖子的created_at日期在用户的last_login_at日期之后,则计划任务将查找新内容并向此表添加行。

然后,当用户登录时,我将显示内容并更新last_login_at

我担心的是,这是否可扩展,好像有一百万用户错过了20个帖子,即2000万条记录。

php laravel
1个回答
1
投票

为什么不在用户上进行最后一次登录。然后获取自该日期以来所有帖子?

$posts = Post::where('created_at', '<=', Auth::user()->last_sign_in)->get()

在你的刀片中,你可以数数

<p>You have missed: {{ $posts->count() }} posts</p>

你不需要额外的桌子

© www.soinside.com 2019 - 2024. All rights reserved.